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

Operating system 操作系统容器与虚拟机有何不同?,operating-system,cloud,containers,virtual-machine,os-userspace,Operating System,Cloud,Containers,Virtual Machine,Os Userspace,我所能看到的是Docker与虚拟机的不同之处,但对于基本操作系统容器与虚拟机的不同之处,却没有答案 如果我们考虑基本原理,看起来两者都是相同的,即操作系统在操作系统内运行。 有人能解释一下根本的区别吗?虚拟机 虚拟机使用。在原始硬件和虚拟硬件之间还有一个附加层,虚拟机认为它是真实的 此模型不会重新利用主机操作系统中的任何内容。这样,您就可以在Linux主机上运行Windows VM,反之亦然 系统容器 容器使用的系统。它从主机操作系统中重新利用主机内核,并将真正的硬件直接细分到容器中。没有额外的

我所能看到的是Docker与虚拟机的不同之处,但对于基本操作系统容器与虚拟机的不同之处,却没有答案

如果我们考虑基本原理,看起来两者都是相同的,即操作系统在操作系统内运行。


有人能解释一下根本的区别吗?

虚拟机

虚拟机使用。在原始硬件和虚拟硬件之间还有一个附加层,虚拟机认为它是真实的

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

系统容器

容器使用的系统。它从主机操作系统中重新利用主机内核,并将真正的硬件直接细分到容器中。没有额外的层来访问真正的硬件,因此,开销(或性能损失)几乎为零


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

最重要的区别在于虚拟机与听起来的虚拟机完全一样。运行在虚拟机上的操作系统和程序真的认为它在自己的硬件上,在自己的“机器”上。一个容器不是它自己的“机器”,它不会以一台独特的独立计算机的形式出现。@一些程序员知道它们是一个操作系统的一部分,并且它们只有一套硬件,如果是虚拟机,他们会喜欢独立的应用程序。还有其他区别吗?第一个差异对应用程序的体系结构有什么影响?如果您满意,请将答案标记为正确。:)