为什么Vagrant不被视为孤立,而Docker是,当Vagrant运行新操作系统并隔离其中的所有内容时?当一个人说:“如果你正在寻找隔离,使用Docker”时,隔离是什么意思?
答案 0 :(得分:9)
隔离意义"只隔离"即,不是虚拟化。当你想在linux上运行linux应用程序时,我们谈的是隔离;当你想在任何操作系统上运行任何应用程序时,我们会讨论虚拟化。
你在哪里读到Vagrant不被视为隔离?
实际上,这种说法是正确的,因为Vagrant不是Container后端,也不是VirtualMachine。这是一名经理。它可以管理VirtualBox,VMWare和现在的Docker。根据您的需求,您可以通过VirtualBox或Docker通过Vagrant实现隔离,但Vagrant本身不提供隔离。
现在Vagrant支持Docker,如果需要,可以使用它;然而,Docker本身非常简单,恕我直言不需要像Vagrant这样的工具。另一方面,当您使用虚拟机时,Vagrant非常有帮助。
答案 1 :(得分:4)
Vagrant只是一个创建虚拟机(甚至是云实例和Docker容器)的工具。 Vagrant本身没有做任何孤立的事情。但是,它可以处理的工具(例如虚拟机或Docker)可以用于隔离(但对于许多其他事情,隔离只是众多方面之一)。
有关Docker和VM之间区别的一些启示,请参阅How is Docker different from a normal virtual machine?
答案 2 :(得分:1)
Docker:将application
与其运行的基础Operating System
分开。
Docker virtualise the Operating System for the application.
Vagrant 是一个虚拟机管理器,让我们将虚拟机与Docker进行比较。
虚拟机:将Operating System
与其运行的基础hardware
分开。
virtual machine virtualise the hardware for the operating system.