From 4ca9c5e2d7838f5bec092c774d768b35f7a75831 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=AF=BB=E6=AC=A2?= Date: Tue, 22 Apr 2025 21:21:06 +0800 Subject: [PATCH] =?UTF-8?q?:feature:=20=E6=B7=BB=E5=8A=A0=E5=AE=B9?= =?UTF-8?q?=E5=99=A8=E5=86=85=E5=AD=98=E9=99=90=E5=88=B6=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=EF=BC=8C=E9=BB=98=E8=AE=A4=E5=80=BC=E8=AE=BE=E7=BD=AE=E4=B8=BA?= =?UTF-8?q?512MB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- configs/config.dev.yaml | 1 + configs/config.yaml | 1 + internal/config/docker.go | 1 + internal/docker/container.go | 4 ++++ 4 files changed, 7 insertions(+) diff --git a/configs/config.dev.yaml b/configs/config.dev.yaml index f4b03e9..9519858 100644 --- a/configs/config.dev.yaml +++ b/configs/config.dev.yaml @@ -18,6 +18,7 @@ docker: apiVersion: "1.41" imageName: "lxh01/xybotv2:latest" network: "bridge" + memory: 123 # 容器内存限制(MB) redis: host: "10.0.0.31" password: "pGhQKwj7DE7FbFL1" diff --git a/configs/config.yaml b/configs/config.yaml index d454801..9da7dbc 100644 --- a/configs/config.yaml +++ b/configs/config.yaml @@ -33,6 +33,7 @@ docker: apiVersion: "1.41" imageName: "lxh01/xybotv2:latest" network: "bridge" + memory: 123 # 容器内存限制(MB) redis: host: "10.0.0.31" password: "pGhQKwj7DE7FbFL1" diff --git a/internal/config/docker.go b/internal/config/docker.go index 0ccc18e..3fd581d 100644 --- a/internal/config/docker.go +++ b/internal/config/docker.go @@ -17,6 +17,7 @@ type DockerConfig struct { APIVersion string `mapstructure:"apiVersion"` // Docker API版本 ImageName string `mapstructure:"imageName"` // 微信机器人Docker镜像名称 Network string `mapstructure:"network"` // 容器网络 + Memory int64 `mapstructure:"memory"` // 内存限制 Redis RedisConfig `mapstructure:"redis"` // Redis配置 } diff --git a/internal/docker/container.go b/internal/docker/container.go index 8bcde23..f573f84 100644 --- a/internal/docker/container.go +++ b/internal/docker/container.go @@ -100,6 +100,10 @@ func CreateContainer(ctx context.Context, cfg *config.DockerConfig, name string, Name: "unless-stopped", }, } + if cfg.Memory == 0 { + cfg.Memory = 512 // 默认内存限制为512M + } + hostConfig.Memory = cfg.Memory * 1024 * 1024 // 限制使用内存 // 设置网络配置 networkingConfig := &network.NetworkingConfig{}