正如标题所示,我正在尝试为我的容器分配更多内存。我正在使用来自 docker hub 的名为“aallam/tomcat-mysql”的图像,以防万一。
当我在没有任何特殊标志的情况下正常启动它时,内存限制为 2GB(即使我读到如果未设置内存是无限的)
这是我的码头工人统计数据
CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
ba57d6c9e9d2 0.22% 145.6 MiB / 1.952 GiB 7.29% 508 B / 508 B 0 B / 6.91 MB 68
我尝试像这样明确设置内存,但结果相同
docker run -d --memory=10g --memory-swap=-1 -e MYSQL_PASSWORD=password -p 3307:3306 -p 8081:8080 aallam/tomcat-mysql
我读过也许是虚拟机限制了它。但是为什么 docker stats 显示容器大小限制为 2GB?
原文由 kane 发布,翻译遵循 CC BY-SA 4.0 许可协议
您看到的
2GB
限制是运行 docker 的 VM(虚拟机)的总内存。如果您使用的是 Docker Desktop ,您可以从任务栏中的 Whale 🐳 图标轻松增加它,然后转到 Preferences -> Advanced:
但是如果你后面使用的是VirtualBox,打开VirtualBox,选择并配置docker-machine分配的内存。
对于 Mac,请参见:
https://docs.docker.com/desktop/settings/mac/#advanced
对于 Windows:
https://docs.docker.com/desktop/settings/windows/#advanced