我对linux容器的理解是每个容器使用相同的主机内核,容器上的任何安装都只是主机上的隔离文件系统层。
我正在通过coreos入门指南。其中显示了如何在包含coreos的主机上启动ubuntu容器。
这怎么可能?主机和容器如何具有不同的风格?
谢谢, 穆尔塔扎
答案 0 :(得分:8)
内核和用户空间是两回事。所有发行版的内核几乎都是一样的。当然,每个发行版的设置都会略有不同。例如,一个发行版可能决定排除某些驱动因素,因为它们并非完全免费。另一个可能决定包含额外的功能(如Debian和Ubuntu有AUFS支持,这通常在其他发行版的内核中找不到)。 Red Hat有自己的“战斗测试”内核,基本上是2.6.32,有大量的稳定性修复(听起来很旧,但它非常可靠)。
99%的时间,您可以使用发行版Y的内核启动发行版X而不会出现问题。这就是为什么在CoreOS主机上运行Ubuntu容器是可以的:容器只是用户空间。它只是在机器上运行的一堆进程,只要内核支持命名空间和控制组(运行Linux容器所需的低级功能),内核的来源并不重要。