You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unix系统下如何调整Docker Engine的内存分配上限?

Unix/Linux 环境Docker Engine内存调整方案

注意:原生Unix/Linux环境下的Docker Engine和Mac/Windows端的Docker Desktop运行逻辑不同,默认没有固定内存上限,可直接使用宿主机全部可用内存。若你遇到构建内存不足的情况,优先检查是否是daemon配置了默认内存限制,或是宿主机本身物理内存不足。


方案1:单次docker build临时指定内存

仅针对本次构建分配更高内存,无需修改全局配置,执行命令时添加--memory参数即可:

# 示例:分配4GB内存给当前构建进程,单位支持k/m/g
docker build --memory 4g .

方案2:全局修改Docker默认内存限制

需要所有容器、构建操作默认使用更高内存上限的场景,按以下步骤操作:

  1. 编辑Docker daemon配置文件,路径为/etc/docker/daemon.json,若文件不存在可直接新建
  2. 添加对应配置参数,示例如下:
{
  // 设置所有容器/构建默认内存上限为4GB,可根据需求调整数值
  "default-memory": "4g",
  // 解除内存锁限制,适合大内存构建场景
  "default-ulimits": {
    "memlock": {
      "Name": "memlock",
      "Hard": -1,
      "Soft": -1
    }
  }
}
  1. 保存配置后,重启Docker服务使配置生效:
systemctl daemon-reload
systemctl restart docker
  1. 验证配置是否生效,执行以下命令查看Docker内存相关配置:
docker info | grep -i memory

特殊场景:WSL2下的Docker内存调整

如果你使用的是Windows Subsystem for Linux 2(WSL2)环境下的Docker,需要先调整WSL2本身的内存上限:

  • 打开Windows用户目录(一般是C:\Users\你的用户名),新建/编辑.wslconfig文件,添加如下配置:
[wsl2]
memory=4GB # 调整为你需要的内存大小
swap=2GB
  • 保存文件后,在Windows终端执行命令重启WSL即可生效:
wsl --shutdown

内容的提问来源于stack exchange,提问作者Michi-2142

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 14:54:06