在有关容器的大量炒作中,我经常听到这样的说法:
Linux 容器非常轻量...您可以在一台服务器上运行数千个容器...
我理解,根据定义,容器共享底层操作系统的内核,并且容器他们自己(容器守护进程)是轻量级的,但这并不意味着有人会启动一千个空容器。容器内会运行数据库进程、Web 服务器、各种类型的作业,这些都有其典型的内存/工作集要求。那么,关于能够运行数千个容器的说法如何具有实际意义呢?
答案1
在我看来,这就像是空容器很轻量。这为什么重要?因为如果您根据运行 X 个数据库进程来确定某个对象的大小,然后您想到,“哦,我想把它们放在容器中”,那么您的下一个问题是,除了现有的大小问题之外,您还需要对大小进行多大程度的更改才能容纳 X 个容器。
容器本身是轻量级的概念意味着您在确定尺寸时不必考虑它们,除非 X 非常大。
与运行单独的虚拟机相比,Michael Hampton 的评论是相关的:
因为,在同一台服务器上,你只能运行少得多的传统虚拟机。