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

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

我到处都能看到 Docker 与虚拟机有何不同,但没有任何地方可以回答基本操作系统容器与虚拟机有何不同。

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

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

最佳答案

虚拟机

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

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

系统容器

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

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

关于operating-system - 操作系统容器与虚拟机有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46191030/

相关文章:

azure - 如何在新的Azure门户中创建A0-A4类型的VM?

amazon-web-services - ec2错误启动实例容量不足

docker - 如何在不使用 VPN 镜像的情况下连接到 docker 中的 VPN?

kubernetes - Resize PV 和 PVC 不适用于 Pod

c - 进程组内的流水线

amazon-s3 - 对象存储有哪些用例?

ubuntu - 我们可以在谷歌云中使用导出的图像从谷歌云之外的图像创建一个实例吗

c++ - 通用四叉树

c - 如何理解stdio.h在不同操作系统上的不同

linux - 正在运行的进程是否会损坏其目录中的可执行文件和文件(当前正在使用)