最近做部署的时候,老大推荐了一个特别好用的工具Vagrant,一个用于配置和管理虚拟软件开发环境的开源软件, 官方GitHub库vagrant。
试了下,很赞,来认识一下vagrant。
「以下均以OS X为例,Window类似。」
准备
vagrant需要依赖于虚拟机,虚拟机常见的有virtual box 和 VMWare,官网上推出了vagrant + vmware 付费版,但其默认是virtual box,所以我们选择virtual box : P
装virtual box
去官网, 选择对应的安装包,点击下载:
下载好后,安装即可。
装Vagrant
戳这里download vagrant,下载对应的安装包:
下载好后,安装即可。
开始
创建
Vagrantfile
文件终端输入:
mkdir vagrant_started cd vagrant_started vagrant init
在vagrant_started目录下,会生成一个Vagrantfile文件,
vi Vagrantfile
打开看一下:可以看到里面的box,你可以理解成是镜像,是”base”。
添加box
终端输入
vagrant box add box'name
来添加box,比如添加ubuntu/trusty64:vagrant box add ubuntu/trusty64
HashiCorp’s Vagrant Cloud box catalog 列出了很多box,随取随用,很方便。
添加box会有点慢,静等它添加完成,然后修改一下Vagrantfile, 把
base
改成ubuntu/trusty64
:
也可以指定版本,使用config.vm.box_version = "X.X.X"
, 其中x.x.x是版本号。
当然上面的这两步【创建 Vagrantfile
文件,添加box 】也可以合并成一步:
**终端输入:`vagrant init ubuntu/trusty64` 。** 【不要问为什么不早说,多敲点代码就当运动了……】
开始启用吧
终端输入
vagrant up
, 启用ubuntu,再次输入vagrant ssh
, 进入ubuntu虚拟环境,然后就可以好好玩了!退出使用exit
。文件同步【这个最酷啦!】
如果你按照官方文档的说明去做文件同步,是这样的:
但是这里有个问题,输入
ls /vagrant
时,显示没有这个文件目录,那就新建个mkdir vagrant
,当然里面是空的,终端输入:mkdir vagrant && cd vagrant vim foo exit
退出后,在主机输入:
ls
, 并没有发现刚刚新建的foo文件,so , where is synced file?这里有一步设置没有完成,详见:default virtualbox synced folder doesn’t mount
解决方法也很简单:
在Vagrantfile中,找到config.vm.synced_folder:
修改成: config.vm.synced_folder “.”, “/vagrant”, type: “virtualbox”
再试一下,会发现文件同步成功!
删除VM
想要删除VM时,使用
vagrant destroy
即可。
OK,That‘s all.
有关provision, network等部分的玩法,可查阅vagrant的getting up。
参考
结语
Google下“Vagrant的使用”,就会看到很多人写过Vagrant方面的文章,可以参考。
不过纸上得来终觉浅,自己动手去做会觉得很赞的,enjoy :P