Vagrant 与 Docker 中的隔离
Posted
技术标签:
【中文标题】Vagrant 与 Docker 中的隔离【英文标题】:Isolation in Vagrant vs. Docker 【发布时间】:2014-09-02 06:31:58 【问题描述】:为什么当 Vagrant 运行一个新的操作系统并隔离其中的所有内容时,Vagrant 不被视为隔离,而 Docker 是?当有人说:“如果您正在寻找隔离,请使用 Docker”时,隔离是什么意思?
【问题讨论】:
Should I use Vagrant or Docker.io for creating an isolated environment?的可能重复 【参考方案1】:隔离的意思是“仅隔离”,即不是虚拟化。当您想在 linux 上运行 linux 应用程序时,我们正在谈论隔离;当您想在任何操作系统之上运行任何应用程序时,我们就会谈论虚拟化。
你从哪里读到 Vagrant 不被认为是孤立的?
实际上,这个说法是正确的,因为 Vagrant 既不是 Container 后端也不是 VirtualMachine。这是一个经理。它可以管理 VirtualBox、VMWare 和现在的 Docker。根据您的需求,您可以通过 VirtualBox 或 Docker 通过 Vagrant 实现隔离,但 Vagrant 本身不提供隔离。
现在 Vagrant 支持 Docker,如果需要,你可以使用它;但是,Docker 本身非常简单,恕我直言,不需要像 Vagrant 这样的工具。另一方面,当您在玩虚拟机时,Vagrant 非常有帮助。
【讨论】:
【参考方案2】:Vagrant 只是一个创建虚拟机(甚至是云实例和 Docker 容器)的工具。 Vagrant 本身对隔离没有任何作用。但是,它可以处理的工具(例如虚拟机或 Docker)可以用于隔离(但也可以用于许多其他事情,隔离只是众多方面之一)。
有关 Docker 和 VM 之间差异的一些启发,请参阅How is Docker different from a normal virtual machine?
【讨论】:
【参考方案3】: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.
【讨论】:
以上是关于Vagrant 与 Docker 中的隔离的主要内容,如果未能解决你的问题,请参考以下文章
我应该使用 Vagrant 还是 Docker 来创建隔离环境? [关闭]