Docker windows容器内存限制

新手上路,请多包涵

带有 Docker Desktop for Windows 的 docker windows 容器是否有默认内存限制?我有一个应用程序在容器中运行时崩溃,但是当我尝试为 docker run 命令指定 --memory 2048mb 参数时,它似乎运行良好。至少在它之前崩溃的情况下。这给我的印象是有默认内存限制,但我在文档中找不到它。所以我的问题是有内存限制,如果它在哪里记录?

原文由 Andrey M. 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 897
2 个回答

根据关于 Docker for windows Github 问题的讨论( https://github.com/moby/moby/issues/31604 ),当 Docker for Windows 在 Windows 10 下运行时,它实际上是使用 Hyper-V 隔离模型(和进程模型在 Win 10 场景中无法访问)。

在这种隔离类型中,您的容器在轻量级 VM 中运行,该 VM 具有默认限制,并且为 1 Gb。所以如果你想拥有更多的内存,你应该使用 -m 参数。

原文由 deafsheep 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果使用 Linux 容器

对我来说,在使用 Docker Desktop 的 Windows 10 上,我无法使 --memory=--cpus= 选项正常工作。以下是有效的方法:

  1. 右键单击系统托盘中的 Docker 鲸鱼,然后选择“设置”
  2. 转到左侧的“资源->高级”
  3. 在此处设置容器可用的 CPU 和内存数量。

在此处输入图像描述

原文由 Ryan Shillington 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题