docker主机OS和容器基础映像OS之间的关系是什么?

时间:2013-09-13 12:22:17

标签: docker

我不确定我是在问正确的问题......但是当我读到所有可以解决的Docker时,我看到我可以在Ubuntu 12.04上安装Docker(例如)然后我可以安装Fedora容器或不同版本的ubuntu吗? (有一个例子,用户在容器中安装了busybox。)

当然,我可能完全错了。

但我希望基本系统与容器之间存在短暂的连接。

重申:主机操作系统和容器基础映像的操作系统之间的关系是什么?

3 个答案:

答案 0 :(得分:98)

正如BraveNewCurrency所提到的,主机操作系统和容器之间的唯一关系是内核。

这是docker和'常规'虚拟机之间的主要区别之一,没有开销,一切都直接在主机内核中进行。

这就是为什么你只能在容器中运行基于Linux的发行版/二进制文件。如果你想运行其他东西,这并非不可能,但你需要在容器内部进行某种虚拟化(qemu,kvm等)

Docker管理作为文件系统表示的图像。您可以安装任何Linux发行版或只是放置二进制文件。

实际上,为了方便示例,我们经常依赖基础图像,但您也可以在没有任何分发库/二进制文件的情况下创建图像。这样你就会拥有一个非常小巧但功能齐全的容器。

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

答案 1 :(得分:23)

从字面上看,他们唯一的共同点就是内核。他们的整个世界(文件系统)都在docker容器中。

答案 2 :(得分:1)

还有另一个考虑因素-即使两个内核都相同,但如果主机操作系统不支持Docker,例如RHEL 6,也会出现问题:https://access.redhat.com/solutions/1378023

因此,即使映像是Linux映像,也无法在RHEL 6上启动一个容器。