Azure Windows Server 2019 VM下Docker Engine内存不足如何调整
Windows Server 2019环境Docker引擎可用内存调整方案
你遇到的内存限制属于Docker引擎的全局资源配额限制,和单容器的内存限制不是同一配置项,可根据你部署的Docker版本选择对应方案调整:
场景1:使用带GUI的Docker Desktop版本
- 打开Docker Desktop设置面板,进入Resources(资源)分类
- 若使用WSL2后端:选择「WSL 2」子选项,拖动「Memory limit」滑块到至少4G以上,推荐设置为8G适配Airflow多组件运行需求
- 若使用Hyper-V后端:选择「Advanced」子选项,直接修改分配给Docker引擎的内存数值
- 调整完成后点击「Apply & Restart」等待Docker服务重启即可生效
场景2:使用无GUI的Docker EE(服务器核心版)
- 以管理员身份打开PowerShell,先停止Docker服务:
Stop-Service docker
- 进入Docker配置目录
C:\ProgramData\Docker\config\,找到daemon.json配置文件,若文件不存在则手动新建 - 在配置文件中添加全局内存限制规则,示例如下(可根据宿主机实际内存调整数值,最低不小于4G):
{ "memory": "8g" }
- 保存配置文件后重启Docker服务:
Restart-Service docker
注意:调整前请确认你的Azure Windows Server 2019 VM本身的内存规格≥8G,避免分配给Docker的内存超过宿主机可用内存导致服务崩溃。
调整完成后可执行你之前的检测命令验证配置是否生效:
docker run --rm "debian:buster-slim" bash -c 'numfmt --to iec $(echo $(($(getconf _PHYS_PAGES) * $(getconf PAGE_SIZE))))'
输出结果大于4G即为调整成功。
内容的提问来源于stack exchange,提问作者akii95
相关产品推荐
相关产品推荐

