【理解Docker】Docker与Vagrant的简单区别 | 少将全栈
  • 欢迎访问少将全栈,学会感恩,乐于付出,珍惜缘份,成就彼此、推荐使用最新版火狐浏览器和Chrome浏览器访问本网站。
  • 吐槽,投稿,删稿,交个朋友
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏少将全栈吧

【理解Docker】Docker与Vagrant的简单区别

点滴 admin 8年前 (2016-09-14) 2075次浏览 已收录 扫描二维码

【编者的话】本文翻译自Quora上的一个问题:DockerVagrant的区别,以及我们何时使用他们。



VagrantDocker是两只不同的野兽。



Docker是一个由shell层和management层两部分组成的,用来构建并运行基于lxc的虚拟Linux容器。



Docker的伟大在于;它是轻量级的(因为它依赖于共享内核的Linux容器),[以及与它的分布无关]。虽然所有实例之间的内核共享(但与主机以及互相之间都是隔离的),不同实例的用户空间可以基于不同的Linux发行版本。



Vagrant则是一个奇妙的工具,它使用puppet和/或chef管理,用来自动调配多个虚拟机,并且每个都有他们自己的配置。对于它的虚拟化来说,它可以使用不同的供应商。原来默认的提供商是VirtualBox,但它现在支持更多了,包括VMware fusion,甚至amazon-ec2。



有趣的是,Vagrant现在也具有一个Docker提供商,因此您可以用vagrant来管理Docker的构建和部署。



Docker,并不限制它的灵活性 – “一切都是镜像”,你可以创建变体镜像和全栈镜像,其中每一个添加功能到前一个。管理这些会成为一个挑战。



Vagrant也有类似的挑战,因为虚拟机可能会过时,有时虚拟机可能很难找到以及更新。有一些工具比如packer和以前的veewee可以用来帮助你构建所谓的’基础’虚拟机。



我相信这些工具可以很好地在一起工作,我觉得这样的组合会在你计划的筹码中或者在你要做整个部件更换测试中,甚至是基础操作系统中大放异彩。



假设你有一个基于Centos的应用程序,并且你要切换到Ubuntu或是其他方式。假设你想完全地升级你的操作系统。



我总是说在开发测试与分级中,对于当前生产环境(包括配置)以及在任何潜在的替代生产环境中你必须要测试你的产品。您是否正在计划一个安全更新?你想更新或是切换到Java吗?



这是Vagrant和Docker出彩的地方。我希望Docker帮助您加快对多个操作环境的测试。



Docker是否一个部署应用程序到生产生产环境中的有用工具呢?这是它常见的使用情况 – 那么它可能是。然而,配置文件的本质变化,尤其是那些必须通过网络进行协调的地方,可以更好地用一个知道在网络中的其他组件的工具。


原文链接:What is the difference between Docker and Vagrant? When should you use each one?(翻译:田浩浩)

来自:http://dockone.io/article/271

相关:http://www.zhihu.com/question/32324376

喜欢 (0)
[🍬谢谢你请我吃糖果🍬🍬~]
分享 (0)
关于作者:
少将,关注Web全栈开发、项目管理,持续不断的学习、努力成为一个更棒的开发,做最好的自己,让世界因你不同。