在vm上运行docker有什么优势?

Docker是OS(kernal)和下面的抽象,VM是Hardware的抽象。 在虚拟机上运行Docker有什么意义(比如Azure)(除了应用程序的可移植性)? 他们不应该直接托pipe在硬件上的docker?

Docker没有为内核级别的安全漏洞提供有效的隔离(只有一个环0,并在所有容器中共享)。 因此,可以合理地希望具有由虚拟化机制提供的附加隔离。

请记住,Docker的许多价值不是关于安全性,而是关于容器化 – 构build和分发便携式应用程序,以确保层之间的耦合仅发生在何处以及如何实现。

像Azure这样的云系统的优点是,你可以用你的信用卡上网,并在几分钟内启动并运行一台机器。 这是由虚拟的机器启用。 此外,虚拟机可以让您通过硬件级别的隔离在多个用户之间共享硬件。

如果一切都是平等的,即你不需要虚拟机的任何function,那么你应该使用物理机器是正确的,因为它会更高效地运行。