我有一个Lamp Docker Image。 我想启动这个图像的500个容器,我需要多少RAM? 我跟踪了每个新容器的内存使用情况,它与其映像的任何其他容器几乎相同。 因此,如果单个容器使用200 MB,我可以在具有1 GB RAM的Linux机器上启动5个容器。
我的问题是:
docker容器是否使用相同的内存,例如,相同的虚拟机映像? 可能是我在docker配置或docker文件中做错了什么?
答案 0 :(得分:5)
docker stats
可能会为您提供所需的反馈。 https://docs.docker.com/engine/reference/commandline/stats/
答案 1 :(得分:4)
我不知道docker内部的确切细节,但一般的想法是Docker尝试尽可能多地重用。因此,如果您启动五个相同的容器,它应该比虚拟机运行得快得多,因为docker应该只有一个基本映像实例和所有容器引用的文件系统。 对一个容器的文件系统的任何更改都将作为一个层添加到顶部,仅标记更改。底层图像不会更改,因此五个容器仍然可以引用相同的单个基本图像。
但是(我相信)虚拟机将拥有五个实例中每个实例的文件系统的完整副本,因为它不使用分层文件系统。
所以我不确定你如何确定你需要多少内存,但这应该让你的概念更清晰。您可以启动一个容器来查看基本内存'这将是一个,然后每个新容器应该只添加一个较小的恒定内存量,这应该让你广泛了解你需要多少。