多个Docker容器之间共享操作系统镜像资源

3
假设我有一个n层应用程序,需要DB镜像、App Server镜像和负载均衡器镜像。假设它们都是Ubuntu镜像。建议似乎是使用3个不同的镜像并运行3个不同的容器。那么这两个问题呢?
1.由于每个镜像都有Ubuntu库等,它们是否都会在我的硬盘上安装相同的ubuntu软件,要求我分配那么多磁盘空间?
2.同样在运行时,这些容器是否以某种有效的方式使用Ubuntu软件,还是它们都独立地加载所有内容到内存中(再次复制3倍)?
1个回答

3
如果所有三个Docker镜像都使用相同的Ubuntu基础镜像,则不会发生重复。建议您阅读核心Docker体系结构以了解此内容。如果可能,请考虑使用轻量级基础镜像,例如Alpine或BusyBox,而不是完整的、庞大的Ubuntu。
最重要的方面(尤其是如果您来自于强大的虚拟机背景)是将Docker镜像视为应用程序级别的依赖关系管理工具。是的,它们提供隔离性。是的,您可以限制资源消耗。但首先,它们是(相当短暂的)应用程序打包和执行环境。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接