重用主机二进制文件或在 Docker 中的容器之间共享

Reuse host binaries or share between containers in Docker

考虑以下场景:

三个独立的 Web 应用程序 A、B 和 C 需要 运行 开启 apache 服务器。

A linux 服务器 运行 的 Web 应用程序 A,可以充当 Docker 主机。要求应用 B 和 C 与 linux 服务器相互隔离。因此,它们被实现为两个 Docker 容器,最初是从同一个图像创建的。

我的问题更新了,还有安全更新特别的。

两个 Docker 容器是否需要完整的 OS 安装映像?他们能否共享主机的 apache 二进制文件,以便主机的 apache 的安全更新可以自动传播到容器?

如果这不起作用:我是否需要在两个容器上独立安装 Apache 更新,或者我是否可以从它们基于相同映像这一事实中获益,并以某种方式简化更新过程?

Docker 不会从缺少要点的主机服务器共享二进制文件。 docker 确实有一个 layered file system,这意味着共享一个公共基础的两个 docker 图像在共享同一主机时会更 space 高效。

至于补丁。如果更新基础镜像,则需要重建从中派生的容器镜像。没什么大不了的,如果您使用 registry 来存储和分发图像。要更新主机服务器,您需要执行 "pull" 操作来更新本地映像,然后重新启动容器。