Docker容器内存使用情况

Ale*_*its 16 docker

我有一个Lamp Docker Image.我想启动这个图像的500个容器,我需要多少RAM?我跟踪了每个新容器的内存使用情况,它与其映像的任何其他容器几乎相同.因此,如果单个容器使用200 MB,我可以在具有1 GB RAM的Linux机器上启动5个容器.

我的问题是:

docker容器是否使用相同的内存,例如,相同的虚拟机映像?可能是我在docker配置或docker文件中做错了什么?

Dan*_*ner 5

docker stats可能会给您您需要的反馈。https://docs.docker.com/engine/reference/commandline/stats/


SGe*_*Ger 4

我不知道 docker 内部的具体细节,但总体思路是 Docker 尝试尽可能多地重用。因此,如果启动五个相同的容器,它的运行速度应该比虚拟机快得多,因为 docker 应该只有所有容器引用的基础映像和文件系统的一个实例。对一个容器的文件系统的任何更改都将添加为顶部的一层,仅标记更改。底层镜像不会改变,因此五个容器仍然可以引用同一个基础镜像。

然而,虚拟机(我相信)将为五个实例中的每一个实例拥有文件系统的完整副本,因为它不使用分层文件系统。

所以我不确定你如何确定你需要多少内存,但这应该会让你更清楚这个概念。您可以启动一个容器来查看一个容器所需的“基本内存”,然后每个新容器应该只添加较小的恒定内存量,这样您就可以大致了解需要多少内存。

  • 问题是关于内存(RAM)而不是磁盘。 (10认同)