1
tabris17 2015-02-04 09:05:45 +08:00 1
puppet是自动化部署,vagrant是虚拟机管理软件,依托于vb、vm等虚拟机软件,docker是一个虚拟执行环境,利用linux内核特性,实现一个半虚拟化的环境,这个环境能够方便地在各台主机上迁移和执行
|
2
9hills 2015-02-04 09:37:24 +08:00 via iPhone
三个定位完全不同的东西
|
3
helone 2015-02-04 09:44:06 +08:00 1
vagrant其实就是虚拟机,依赖几个虚拟机软件,更适合开发环境,打包的镜像也比较大,因为他就是整个虚拟机,包括驱动什么的都要打包
docker是个容易,只需要Linux内核就可以运行,可以方便的迁移,保存和复制,更适合生产环境部署,应用隔离等 puppet没接触过 |
4
xuxu 2015-02-04 09:47:13 +08:00 1
这个问题太高深了
1. docker是容器,用来虚拟程序运行环境 2. puppet是运维自动化部署工具 3. vagrant是虚拟机管理工具,依赖虚拟机 如果非要说像, docker和vagrant都可以用来管理运行程序需要的环境。 |
5
0bit 2015-02-04 10:07:03 +08:00 1
最近折腾了一下docker,还是觉着开发环境用vagrant最省心
|
6
SharkIng OP @xuxu 因为看到说docker可以很容易的迁移环境,那么难道不是可以理解为类似puppet么?自动化在不同机子上部署相同的环境?
|
7
tini9 2015-02-04 10:23:09 +08:00
docker不适合程序员
|
10
kofj 2015-02-04 11:14:09 +08:00 2
@SharkIng puppet没用过,暂且不谈.说说docker和vagrant吧.首先docker和vagrant就不是一类工具,非要找类似的话,boot2docker和vagrant算是一类吧,都是管理虚拟机的,只不过boot2docker也就只能使用boot2docker这么一个box.
先看看docker的官方定义:An open platform for distributed applications for developers and sysadmins.清晰明了,docker是个平台.至于vagrant,官方只是说了它能做什么:Create and configure lightweight, reproducible, and portable development environments.按我理解它只是个开发环境的配置管理工具.一平台一工具,两者的区别显现出来了.至少对我来说,vagrant跑起来后box里面只是个开发环境,和实际的生产环境还是有着差异的.至于docker,配置的好的话,你的开发环境和应用是能够直接打包丢进生成环境使用的,相交于vagrant能够再进一步的提高生产效率,避免生产\测试\开发环境之间的差异而造成的各种问题.相信大家应该是遇见过这种问题的:测试组的同事来找你,报一堆奇怪的bug,而你在开发环境里面怎么都复现不了这些bug. Vagrant was started in January 2010,docker launched in March 2013.显而易见,docker更年轻,作为新生事物也并不完善,据说是目前最好docker管理工具shipyard个人觉的其实并不好用,给人的感觉实在是太简陋了.vagrant作为一个管理工具对我来说还是比较好用的,网上一堆现成的box可以下载,比如说Laravel官方提供的Homestead能够让新手更容易的入门,不至于因为开发环境部署问题而止于门外.Docker官方仓库现在虽说有不少的镜像提供,但更多的是基础镜像.不过你要是熟悉以后,docker相对而言其实更方便,shipyard在官方仓库有镜像提供.gogs则是提供dockerfile. 简单说,docker可以提供一条龙服务.vagrant则是让你在家(本机)玩儿的更开心. 咦~我怎么闻到一股知乎的味道.不行,得加条规则屏蔽了它.最后AD一下,v社有收人的嘛?本人会PHP,最近新开始学Laravel(惊叹),golang(能看懂,会写点,beego用的心塞,效率低下). |
11
binux 2015-02-04 11:37:35 +08:00
昨天还看到有人在知乎上问,docker 和 virtualenv 有什么区别。
这些东西都有什么相同点啊! |
12
hahastudio 2015-02-04 11:44:59 +08:00
@binux 隔离了“命名空间”?
|
13
jyoe 2015-02-04 11:52:18 +08:00 1
与其从某个环境把code拔下来 不如把整个环境都拿下来测试要来的准。
|