VAGRANT 和 Docker的使用场景和区别?

中国人最喜欢访问的网站
只要注册ofo就送你10块钱,还等什么,快来注册吧

本质区别
Vagrant并不提供虚拟化技术,本质上是一个虚拟机外挂,通过虚拟机的管理接口来管理虚拟机,让用户更轻松的进行一些常用配置,比如:CPU/Memory/IP/DISK等分配。并且提供了一些其它的管理操作:比如开机运行指定命令,镜像二次打包,插件编写等等。
vagrant官方有介绍:

To achieve its magic, Vagrant stands on the shoulders of giants. Machines are provisioned on top of VirtualBox, VMware, AWS, or any other provider. Then, industry-standard provisioning tools such as shell scripts, Chef, or Puppet, can be used to automatically install and configure software on the machine.

而docker是一个容器引擎,每一个实例是一个相对隔离的空间,与宿主机共享操作系统内核,并且共享宿主机资源。相对于披着虚拟机皮的vagrant,docker更加轻量,消耗更少的资源。

应用场景

关于应用场景没有绝对,把两个东西都用熟,自己觉得用哪个方便用哪个好管理就用哪个。既然vagrant本质是虚拟机外挂,那么它的应用场景就是,节省你用原生虚拟机管理软件的时间。原来我们新增一台虚拟机需要配置好内存、硬盘、CPU等,然后添加iso,安装。创建用户,等等。一套下来好几十分钟是吧?聪明点你可能会想到复制一个创建好的镜像然后粘贴。但这一切vagrant都帮你想好了,安装vagrant后你只需要6步就能创建一台新的虚拟机,其中两步是创建文件夹和切换文件夹。
从安装到创建一台新的虚拟机就成功了。如果你想要再添加一台虚拟机,你只需要执行最后两步,添加一个不同名字的配置就能再新建一台虚拟机。还支持镜像、开机自动运行脚本、插件编写等。dockerdocker主要应用于解决环境依赖以及为应用程序提供一个相对隔离的空间,一个实例像操作系统里运行的一个程序。原来部署一套环境是不是得自己编写自动化部署依赖环境以及程序的脚本?如果有两个依赖同一程序或库的不同版本怎么办?绝对路径?软连接?docker能很好的解决你的烦恼。把需要的依赖环境打包成一个镜像,再把程序放镜像里面运行。

总的来说vagrant更适合给开发大爷们创造一个统一的开发、测试、接近于完全隔离的环境,以及提高对高配机的闲置利用。docker更方便地解决了同一机器上的环境隔离,以及提高运维锅们解决部署时环境依赖的效率。

快下载安装吧,今天头条送你钱啦!!!!
中国人都在使用的地球上最好玩的游戏
中国人都在使用的地球上最好玩的游戏
中国人都在使用的地球上最快的浏览器
中国人都在使用的地球上最厉害的安全软件
中国人都在使用的地球上最好的看图王
中国人都在使用的地球上最快速的视频软件
中国人都在使用的地球上最全的视频软件
中国人都在使用的地球上最好最全的压缩软件
中国人都在使用的地球上最好的音乐播放器
中国人都在使用的地球上最安全的杀毒软件
中国人都在使用的地球上最全的影视大全