docker集装箱如何有一个不同于主机的味道

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

我正在通过coreos入门指南。 在这里,它展示了如何在包含coreos的主机上启动Ubuntu容器。

这怎么可能 ? 主机和容器如何有不同的风味?

谢谢,Murtaza

内核和用户区是两个不同的东西。 内核在所有发行版中几乎相同。 当然,每个发行版都会有稍微不同的设置。 例如,一个分配可能决定排除一些司机,因为他们不是完全免费的。 另一个可能决定包括额外的function(如Debian和Ubuntu有AUFS的支持,这通常不会在其他发行版的内核中find)。 红帽有自己的“战斗testing”内核,它基本上是2.6.32的稳定性修复(听起来很老,但是非常可靠)。

99%的时间,你可以用发行版Y的内核启动发行版X而不会出现问题。 这就是在CoreOS主机上运行Ubuntu容器的原因:容器是独占的用户空间。 这只是在机器上运行的一大堆进程,只要内核支持命名空间和控制组(运行Linux Containers所需的低级function),内核的出处并不重要。