繁体   English   中英

Docker容器隔离,是否关心底层Linux操作系统?

[英]Docker container isolation, does it care about underlying Linux OS?

如果我在一组不同的Linux发行版上运行Docker Engine和相同的容器,容器是否会以相同的方式运行? 我问,因为在许多情况下,应用程序依赖于特定的Linux发行版来获取某些资源,例如字体。 如果我在Docker容器中运行的应用程序依赖于Ubuntu中使用的字体(并且可能还有许多其他依赖项),那么这是如何管理的? 我是否需要在容器内安装字体,是否需要在运行应用程序的容器内运行Ubuntu,或者应用程序是否使用运行容器的底层操作系统中的字体?

任何缺少的资源都应该安装在Docker 镜像中 (可以从ubuntu镜像开始)。
它不应该依赖主机的依赖。

这个想法是每次从图像运行容器时能够重现环境。

容器看不到主机资源(在已装入的卷旁边),因为它在容器和主机之间具有Docker引擎,以便配置cgroup命名空间以控制容器可以查看和访问的资源。

搬运工人

jboss / base中引用“fedora”映像基本映像

图片

在Docker术语中,只读层称为图像。 图像永远不会改变。

由于Docker使用Union文件系统,因此进程认为整个文件系统是以读写方式挂载的。 但所有更改都转到最顶层的可写层,而在下面,只读图像中的原始文件保持不变。
由于图像不会改变,因此图像不具有状态。

请参阅“ docker主机操作系统与容器基础映像操作系统之间的关系是什么? ”:

主机操作系统和容器之间的唯一关系是内核。

由于内核仍然是主机的内核,因此您不会拥有该分发提供的任何特定内核模块/补丁。

你需要注意的是

  • 内核依赖,
  • 和一些强制访问控制(SELinux,Apparmor)配置,这些配置依赖于分发,可能会影响Docker容器的工作方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM