操作系统容器与虚拟机有何不同?

时间:2017-09-13 07:08:26

标签: operating-system cloud containers virtual-machine os-userspace

我可以看到的任何地方都是Docker与虚拟机的不同之处,但对于基本操作系统容器与虚拟机的不同之处却无处可寻。

如果我们考虑基础知识,看起来两者都是相同的,即操作系统在操作系统中运行。

有人会解释潜在的差异吗?

1 个答案:

答案 0 :(得分:2)

虚拟机

虚拟机使用hardware virtualization。原始硬件和虚拟硬件之间还有一个额外的层,虚拟机认为它是真实的。

此模型不会从主机的操作系统中重复使用任何内容。这样,您就可以在Linux主机上运行Windows VM,反之亦然。

系统容器

系统容器使用operating-system-level virtualization。它从主机OS重新利用主机内核,并将真实硬件直接细分到容器。没有额外的层来访问真实硬件,因此,开销(或性能损失)实际上为零。

另一方面,您无法在Linux主机操作系统内运行Windows容器,因为内核不一样。

相关问题