小编典典

如何为 docker 容器分配更多内存

all

正如标题所示,我正在尝试为我的容器分配更多内存。我正在使用来自 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?


阅读 133

收藏
2022-08-05

共1个答案

小编典典

2GB您看到的限制是运行 docker 的 VM 的总内存。

如果您使用的是 docker-for-windows 或 docker-for-mac 可以从任务栏中的 Whale 馃惓图标轻松增加它,然后转到
Preferences -> Advanced:

Docker
首选项

但是如果你后面使用的是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 使用的内存量

2022-08-05