Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我所看到的到处都是 Docker 与虚拟机的不同之处,但对于基本的 OS 容器与虚拟机的不同之处却没有答案。
如果我们考虑基础知识,看起来两者是相同的,即操作系统在操作系统中运行。
有人会解释潜在的区别吗?
虚拟机
虚拟机使用硬件虚拟化。在原始硬件和虚拟硬件之间有一个额外的层,虚拟机认为它是真实的。
此模型不会重新利用主机操作系统中的任何内容。这样,您可以在 Linux 主机上运行 Windows VM,反之亦然。
系统容器
系统容器使用操作系统级虚拟化。它从主机操作系统重新利用主机内核,并将真实硬件直接细分为容器。没有额外的层来访问真正的硬件,因此,开销(或性能损失)实际上为零。
另一方面,你不能在 Linux 主机操作系统中运行 Windows 容器,因为内核不一样。