Tre*_*rKS 5 linux kvm virtual-machine debian docker
与在裸机上(直接在主机上)运行 docker 容器相比,在 VM 内运行 docker 容器有什么好处?
我听说过一些公司在 VM 中运行 docker 容器,特别是在 docker 会议中提到一些组织正在这样做。为什么?
(比较在主机上运行的 Docker 容器与在主机上的 KVM 内运行的 Docker 容器)
那么为什么有人会在 KVM 中运行 Docker?他们不会从 KVM 中承受不必要的性能损失吗?
除了它们存储状态的方式不同之外,一种方法或另一种方法可能更有效。此外,您无法可靠地保存 100% 的容器状态。
根据您使用的 VM 和容器系统,为 VM 设置这可能比为容器设置更容易。如果您想要为虚拟机/容器提供专用的第 2 层接口,则尤其如此,这对于虚拟机来说几乎总是更容易。
虚拟机比容器做得更好。容器仍在对主机操作系统进行本机系统调用。这意味着他们可以直接利用这些系统调用中的任何错误。VM 有自己的操作系统,因此它们的隔离性要好得多。
这几乎是平均的,尽管我个人发现 VM 的正确扩展比容器做得好一些(很可能是因为 VM 正确完成了将权限问题卸载到硬件,而容器需要软件来处理它)。
不,不完全是。两者都可以做离线迁移,但是很多容器系统不能做实时迁移(即将一个正在运行的容器从一台主机移动到另一台主机)。实时迁移是非常可管理性的原因很重要,如果你在任何合理的规模运行(需要运行在主机上的更新吗?一切都迁移到另一个系统,重新启动主机,迁移事事休第二主机的第一,重启的是,重新平衡。)。