如何减少 Windows 上 Docker Linux 容器的默认 VM 内存
How to reduce default VM memory for Docker Linux containers on Windows
场景
- Windows 10 专业
- Docker 18.06.1-ce 运行 Windows 容器模式
- 主机系统上有 4GB 可用内存
- 使用 Hyper-V 虚拟机
问题
当尝试通过 Docker 的任务栏项目 "switch to Linux containers" 时,过程在几秒钟后失败,显示有关 "Not enough memory to start Docker" 的错误。
由于主机系统没有那么多内存,我想减少全局 Docker 机器允许使用的最大内存量(我认为此处默认为 2 GB)。因此,我想将其减少到 1 GB。
当 Docker 运行 处于 Windows 容器模式时,Docker 的设置中没有 "advanced" 部分可以减少轻松分配内存。
我能够使用 Windows' Hyper-V 管理器找到 "MobyLinuxVM"。但是,当在那里调整内存设置时,每次我启动 Docker 并再次尝试切换到 Linux 容器模式时它都会被覆盖。
问题
是否有不同的方法来定义 Docker 的最大内存量而不使用用户界面(由于 "advanced" 中缺少 "advanced" 部分,这在这种情况下不起作用53=] 容器模式 - 在能够切换到 Linux 容器之前)?
经过一番搜索,我发现Docker的用户界面设置存储在%APPDATA%\Docker\settings.json
中(例如C:\Users\olly\AppData\Roaming\Docker
),内存设置在memoryMiB
中定义属性.
以下解决了我环境中的问题:
- 退出Docker
- 在 运行 命令提示符 (
Windows-Key + R
) 中使用 notepad %APPDATA%\Docker\settings.json
修改 settings.json
文件
- 将值
memoryMiB
调整为1024
(之前是2048
)
- 在 Docker 版本 19.x 之后 属性 被称为
memoryMiB
- 在 Docker 版本 18.x 和 属性 被调用之前
VmMemory
- 保存
settings.json
- 开始 Docker 并最终能够使用“切换到 Linux 容器”
属性 memoryMiB
Docker 版本 19.x 及更高版本
属性 VmMemory
在 Docker 版本 18.x 之前
场景
- Windows 10 专业
- Docker 18.06.1-ce 运行 Windows 容器模式
- 主机系统上有 4GB 可用内存
- 使用 Hyper-V 虚拟机
问题
当尝试通过 Docker 的任务栏项目 "switch to Linux containers" 时,过程在几秒钟后失败,显示有关 "Not enough memory to start Docker" 的错误。
由于主机系统没有那么多内存,我想减少全局 Docker 机器允许使用的最大内存量(我认为此处默认为 2 GB)。因此,我想将其减少到 1 GB。
当 Docker 运行 处于 Windows 容器模式时,Docker 的设置中没有 "advanced" 部分可以减少轻松分配内存。
我能够使用 Windows' Hyper-V 管理器找到 "MobyLinuxVM"。但是,当在那里调整内存设置时,每次我启动 Docker 并再次尝试切换到 Linux 容器模式时它都会被覆盖。
问题
是否有不同的方法来定义 Docker 的最大内存量而不使用用户界面(由于 "advanced" 中缺少 "advanced" 部分,这在这种情况下不起作用53=] 容器模式 - 在能够切换到 Linux 容器之前)?
经过一番搜索,我发现Docker的用户界面设置存储在%APPDATA%\Docker\settings.json
中(例如C:\Users\olly\AppData\Roaming\Docker
),内存设置在memoryMiB
中定义属性.
以下解决了我环境中的问题:
- 退出Docker
- 在 运行 命令提示符 (
Windows-Key + R
) 中使用 - 将值
memoryMiB
调整为1024
(之前是2048
)- 在 Docker 版本 19.x 之后 属性 被称为
memoryMiB
- 在 Docker 版本 18.x 和 属性 被调用之前
VmMemory
- 在 Docker 版本 19.x 之后 属性 被称为
- 保存
settings.json
- 开始 Docker 并最终能够使用“切换到 Linux 容器”
notepad %APPDATA%\Docker\settings.json
修改 settings.json
文件