3

我对 linux 容器的理解是,每个容器都使用相同的主机内核,容器上的任何安装都只是主机上的一个隔离文件系统层。

我正在阅读 coreos 入门指南。它展示了如何在包含 coreos 的主机上启动 ubuntu 容器。

这怎么可能 ?主机和容器怎么会有不同的味道?

谢谢,穆尔塔萨

4

1 回答 1

8

内核和用户空间是两个不同的东西。内核在所有发行版中几乎相同。当然,每个发行版的设置都会略有不同。例如,一个发行版可能决定排除某些驱动程序,因为它们不是完全免费的。另一个可能决定包含额外的功能(比如 Debian 和 Ubuntu 支持 AUFS,这通常在其他发行版的内核中找不到)。Red Hat 有自己的“经过实战测试”的内核,本质上是 2.6.32,有大量的稳定性修复(听起来很老,但非常可靠)。

99% 的情况下,您可以毫无问题地使用 distro Y 的内核引导 distro X。这就是为什么可以在 CoreOS 主机上运行 Ubuntu 容器的原因:该容器是专用于用户空间的。它只是机器上运行的一堆进程,只要内核支持命名空间和控制组(运行 Linux 容器所需的低级功能),内核来自哪里都没有关系。

于 2014-01-16T19:14:10.850 回答