Vagrant 构建 Linux 开发环境
vagrant 是一个简单易用的部署工具,用英文说应该是 orchestration tool 。它能帮助开发人员迅速的构建一个开发环境,帮助测试人员构建测试环境, vagrant 基于 ruby 开发,使用开源 virtualbox 作为虚拟化支持,可以轻松的跨平台部署。
通俗的来说, 就是在本地部署一个和 linux 虚拟机上的同步文件夹, 这样所有的操作都方便了许多
准备工作
- 下载 virtualbox 虚拟器 :
- 下载安装 vagrant :
- 下载使用的 box (
这里的 box 指的是系统
) : - 在本地建立一个工作文件夹
部署环境
-
进入工作文件夹中
-
把下载的 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
#进入虚拟环境