Vagrant与Docker中的隔离性对比

15
为什么Vagrant不被视为隔离技术,而Docker却是呢?尽管使用Vagrant可以运行新的操作系统并在其中隔离所有内容。当有人说:“如果你想要隔离,请使用Docker”,这里所指的隔离是什么意思?

3个回答

10

"隔离"在此指“只有隔离”,即不是虚拟化。当您想在Linux上运行Linux应用程序时,我们谈论的是隔离;当您想在任何操作系统之上运行任何应用程序时,则需要虚拟化。

你在哪里看到Vagrant不被视为隔离?

实际上,这个说法是正确的,因为Vagrant既不是容器后端也不是虚拟机。它是一个管理器。它可以管理VirtualBox、VMWare和现在的Docker。根据您的需求,您可以通过Vagrant通过VirtualBox或Docker实现隔离,但是Vagrant本身不提供隔离。

现在Vagrant支持Docker,如果需要,您可以使用它;然而,Docker本身非常简单,我认为不需要像Vagrant这样的工具。另一方面,当您玩虚拟机时,Vagrant非常有帮助。


4
Vagrant只是一个创建虚拟机(甚至云实例和Docker容器)的工具。 Vagrant本身对隔离没有任何作用。 但是,它可以处理的工具(如虚拟机或Docker)可以用于隔离(但也可以用于许多其他事情,隔离只是其中的一种方面)。
如果您想了解Docker和虚拟机之间的区别,请参阅 How is Docker different from a normal virtual machine?

1
Docker:将应用程序与其运行的底层操作系统分离。
Docker virtualise the Operating System for the application.

Vagrant是一款虚拟机管理器,让我们将虚拟机与Docker进行比较。
虚拟机:将操作系统与其运行的底层硬件分离。
virtual machine virtualise the hardware for the operating system.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接