正如标题所示,我正在尝试为我的容器分配更多内存。我正在使用来自 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?
2GB您看到的限制是运行 docker 的 VM 的总内存。
2GB
如果您使用的是 docker-for-windows 或 docker-for-mac 可以从任务栏中的 Whale 馃惓图标轻松增加它,然后转到 Preferences -> Advanced:
但是如果你后面使用的是VirtualBox,打开VirtualBox,选择并配置docker-machine分配的内存。
对于 Mac,请参见:
https://docs.docker.com/docker-for-mac/#advanced
内存 默认情况下,Docker for Mac 设置为使用 2 GB 运行时内存,从 Mac 上的总可用内存中分配。如果您希望 Docker for Mac 使用更少的内存,您可以通过将此数字设置得更高(例如设置为 3)或更低(设置为 1)来增加应用程序的 RAM 以获得更快的性能。
对于 Windows:
https://docs.docker.com/docker-for-windows/#advanced
内存 - 更改 Docker for Windows Linux VM 使用的内存量