Harry Asked: 2019-08-03 17:02:51 +0800 CST2019-08-03 17:02:51 +0800 CST 2019-08-03 17:02:51 +0800 CST 一个 Docker OS 容器——为什么? 772 如果 Docker 是一个应用程序容器(不像像 LxC 这样的系统容器),并且只用于运行一个应用程序/服务,我想知道一个完整的 Docker OS 容器对 Ubuntu 有什么好处? 例如,您更喜欢 Ubuntu Docker 容器而不是 Ubuntu LxC 容器的任何一个用例? docker container 2 个回答 Voted Best Answer xenoid 2019-08-04T00:07:18+08:002019-08-04T00:07:18+08:00 因为,即使不涉及完整的操作系统,Docker 镜像中的文件系统看起来也像是特定发行版的根文件系统的提取物: 根据“原始操作系统”,要在 Docker 文件中安装其他包,您将必须运行yum、apt或其他东西,如果apt您将使用 Debian 或 Ubuntu 存储库。 有些事情(尤其是在/etc)在不同发行版中的处理方式并不完全相同(例如,安全证书),因此如果您熟悉 Debian,与 Centos 相比,您会更容易使用 Debian/Ubuntu docker 映像。 有一些不太明显的东西可以发挥作用,但同样重要,例如特定软件包的实际名称和版本。一些 Docker 映像(Alpine?)甚至不包含glib,这是许多 Linux 应用程序的 C 运行时支持。 否则,“OS Docker 镜像”只是更专业化镜像的起点。例如,如果您需要一个 Web 服务器,您可以从 Debian 映像开始,使用 apt 安装 Apache 和 Tomcat,添加您的 WAR。要调试您的图像,您仍然可以使用所有实用程序。当一切都稳定时,您可以删除多余的部分(通常执行两阶段 Dockerfile)并最终得到一个包含服务器所需内容的小图像(Apache 只是此处的示例,因为您可以找到 Apache 图像)。 Harry 2019-08-04T16:52:16+08:002019-08-04T16:52:16+08:00 @DanielB 和@xenoid,如果你们中的任何一个想发表最后的评论作为答案,我可以将其定为最终评论。不幸的是,如果两者恰好同样好,我只能做出最终答案之一。
因为,即使不涉及完整的操作系统,Docker 镜像中的文件系统看起来也像是特定发行版的根文件系统的提取物:
yum
、apt
或其他东西,如果apt
您将使用 Debian 或 Ubuntu 存储库。/etc
)在不同发行版中的处理方式并不完全相同(例如,安全证书),因此如果您熟悉 Debian,与 Centos 相比,您会更容易使用 Debian/Ubuntu docker 映像。glib
,这是许多 Linux 应用程序的 C 运行时支持。否则,“OS Docker 镜像”只是更专业化镜像的起点。例如,如果您需要一个 Web 服务器,您可以从 Debian 映像开始,使用 apt 安装 Apache 和 Tomcat,添加您的 WAR。要调试您的图像,您仍然可以使用所有实用程序。当一切都稳定时,您可以删除多余的部分(通常执行两阶段 Dockerfile)并最终得到一个包含服务器所需内容的小图像(Apache 只是此处的示例,因为您可以找到 Apache 图像)。
@DanielB 和@xenoid,如果你们中的任何一个想发表最后的评论作为答案,我可以将其定为最终评论。不幸的是,如果两者恰好同样好,我只能做出最终答案之一。