当 Vagrant 运行一个新的操作系统并隔离其中的所有内容时,为什么 Vagrant 不被视为隔离,而 Docker 是?当有人说:“如果您正在寻找隔离,请使用 Docker”时,隔离是什么意思?
3 回答
隔离的意思是“仅隔离”,即不是虚拟化。当您想在 linux 上运行 linux 应用程序时,我们正在谈论隔离;当你想在任何操作系统之上运行任何应用程序时,我们就会谈论虚拟化。
你从哪里读到 Vagrant 不被认为是孤立的?
实际上,这个说法是正确的,因为 Vagrant 既不是 Container 后端也不是 VirtualMachine。这是一个经理。它可以管理 VirtualBox、VMWare 和现在的 Docker。根据您的需求,您可以通过 VirtualBox 或 Docker 通过 Vagrant 实现隔离,但 Vagrant 本身并不提供隔离。
现在 Vagrant 支持 Docker,如果需要,您可以使用它;但是,Docker 本身非常简单,恕我直言,不需要像 Vagrant 这样的工具。另一方面,当您使用虚拟机时,Vagrant 非常有帮助。
Vagrant 只是一个创建虚拟机(甚至是云实例和 Docker 容器)的工具。Vagrant 本身对隔离没有任何作用。但是,它可以处理的工具(例如虚拟机或 Docker)可以用于隔离(但也可以用于许多其他事情,隔离只是众多方面之一)。
有关 Docker 和 VM 之间差异的一些启发,请参阅Docker 与普通虚拟机有何不同?
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.