Vagrant 是一个简单易用的部署工具,用英文说应该是 Orchestration Tool 。它能帮助开发人员迅速的构建一个开发环境,帮助测试人员构建测试环境, Vagrant 基于 Ruby 开发,使用开源 VirtualBox 作为虚拟化支持,可以轻松的跨平台部署。
通俗的来说, 就是在本地部署一个和 Linux 虚拟机上的同步文件夹, 这样所有的操作都方便了许多
准备工作
- 下载 VirtualBox 虚拟器 : https://www.virtualbox.org/
- 下载安装 Vagrant : http://www.vagrantup.com/
- 下载使用的 box (
这里的 box 指的是系统
) : http://www.vagrantbox.es/ - 在本地建立一个工作文件夹
部署环境
-
进入工作文件夹中
-
把下载的 box 镜像包放到工作目录下-这里我以
Ubuntu.14.04
为例 -
打开终端进入工作目录, 或者你可以在当前目录按住
shift+鼠标右键
可快速打开当前目录的终端 我们执行
vagrant box list
可查看当前添加进 vagrant 的镜像-
如果没有添加 box 镜像, 我们执行
vagrant box add 系统名字 box镜像
-
这时候我们执行
vagrant box list
就可以查看我们添加的 box 镜像 -
box 镜像添加到 vagrant 里面后我们就可以执行
vagrant init 系统名
初始化, 初始成功后我们可以看见当前工作目录下会生成一个Vagrantfile
的配置文件 -
因为我们虚拟机默认只分配一个访问外网的 IP, 项目使用的 IP 得手动设置打开
Vagrantfile
找到29行(我的配置文件在29行)设置一个私有 IP -
到这里所有配置工作都完成了, 我们可以
vagrant up
正式启动了, 启动成功后会在当前目录生成一个.vagrant
的隐藏文件夹 -
在工作目录中, 使用了
vagrant up
命令, 我们虚拟机会自动的帮我们配置一个系统, 然后自动后台启动, 以后都无须管理虚拟机让虚拟机在后台玩儿去吧
-
我们可以在当前目录使用
vagrant ssh
直接连接到虚拟机里面, 也可以使用第三方工具进行连接如Putty
,Xshell
, IP 为我们刚刚在Vagrantfile
配置文件中设置的私有 IP特别注意: 如果是第三方工具连接, 用户名和密码都是
vagrant
-
虚拟机里面的
/vagrant
这个文件夹是和我们本地同步的文件夹 -
下面我们就来看看vagrant神奇的地方, 我们在
/vagrant
同步文件夹里面创建一个文件a
, 看看我们本地发生了什么....., 同样我们在本地把这个a
文件删除, 看看虚拟机里面发生了什么... - 这样我们以后从服务器拉取下来的项目, 就可以直接在同步文件夹操作, 操作本地文件, 就相当于操作虚拟机, 目前已经有很多大型公司使用
vagrant
, 因为这可以提升他们的开发效率
最后附上vagrant
一些常用的命令
-
$ vagrant box add NAME URL
#添加一个box -
$ vagrant box list
#查看本地已添加的box -
$ vagrant box remove NAME virtualbox
#删除本地已添加的box,如若是版本1.0.x,执行$ vagrant box remove NAME -
$ vagrant init NAME
#初始化,实质应是创建Vagrantfile文件 -
$ vagrant up
#启动虚拟机 -
$ vagrant halt
#关闭虚拟机 -
$ vagrant destroy
#销毁虚拟机 -
$ vagrant reload
#重启虚拟机 -
$ vagrant package
#当前正在运行的VirtualBox虚拟环境打包成一个可重复使用的box -
$ vagrant ssh
#进入虚拟环境