如何分配更多的内存到docker集装箱

正如标题所示,我试图给我的容器分配更多的内存。 如果是相关的,我使用来自docker hub的名为“aallam / tomcat-mysql”的镜像。

当我没有任何特殊的标志正常启动时,有一个2GB的内存限制(即使我没有设置读取内存是无限的)

这是我的docker统计

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统计显示容器大小限制是2GB?

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

如果您使用docker-for-windows或docker-for-mac,则可以从任务栏中的Whale图标轻松增加它(转到设置等)

如果您使用的是VirtualBox,请打开VirtualBox,select并configurationdocker-machine分配的内存。

看到这个为Mac:

https://docs.docker.com/docker-for-mac/#memory

内存默认情况下,Docker for Mac设置为使用2 GB运行内存,从Mac上的可用内存总量中分配。 如果您希望Docker for Mac使用较less的内存,则可以通过将此数字设置得更高(例如为3)或更低(至1)来增加应用程序的RAM以获得更快的性能。

对于Windows:

https://docs.docker.com/docker-for-windows/#advanced

内存 – 更改Docker for Windows Linux VM使用的内存量