Answers:
如BraveNewCurrency所述,主机OS与容器之间的唯一关系是内核。
这是docker虚拟机与“常规”虚拟机之间的主要区别之一,没有开销,一切都直接在主机的内核中进行。
这就是为什么您只能在容器中运行基于Linux的发行版/二进制文件的原因。如果要运行其他内容,这并非不可能,但是您需要在容器内进行某种类型的虚拟化(qemu,kvm等)。
Docker管理作为文件系统表示形式的映像。您可以安装任何Linux发行版,也可以简单地放入二进制文件。
确实,为了方便示例,我们通常依赖于基本映像,但是您也可以在没有任何分发库/二进制文件的情况下创建映像。这样,您将拥有一个非常小而功能强大的容器。
关于发行版的另一点:由于内核仍然是主机的内核,因此发行版将不会提供任何特定的内核模块/补丁。
还有另一个考虑因素-即使两个内核都相同,但如果主机操作系统不支持Docker,例如RHEL 6,也会出现问题:https : //access.redhat.com/solutions/1378023
因此,即使映像是Linux映像,您也无法在RHEL 6上启动一个容器。