Ubuntu下使用Vagrant搭建虚拟开发环境

Vagrant是一个搭建完整的虚拟开发环境的工具,通常简写为VDE(Virtual Development Environment)。
Vagrant节省大量重建操作系统环境的时间,它也是一个配置中心,允许你使用一个相同的配置管理和部署多个VDE。
安装Vagrant的同时,你也需要安装VirtualBox,因为它是Vagrant的核心功能组建。

1、安装virtualbox
sudo apt-get install virtualbox

2、vagrant是ruby开发的,所有安装ruby相关的东西
sudo apt-get -y install ruby rubygems

3、在vagrant官网下载deb包
wget https://releases.hashicorp.com/vagrant/1.9.0/vagrant_1.9.0_x86_64.deb
sudo dpkge -i vagrant_1.9.0_x86_64.deb

或者直接使用apt-get安装
$ sudo apt-get install vagrant

4、下载官方封装好的基础镜像,我这里下载的是Ubuntu64,是一个格式为box的文件
wget http://files.vagrantup.com/linuxidc.box

5、将linuxidc.box命名
mkdir box_ubuntu16
mv linuxidc.box /home/linuxidc/box_ubuntu16/ubuntu16.box

6、创建一个开发目录
mkdir ubuntu16_dev
cd ubuntu16_dev

7、添加镜像到 Vagrant(名称ubuntu16_dev是box名称)
linuxidc@linux:~/ubuntu16_dev$ vagrant box add ubuntu16_dev /home/linuxidc/box_ubuntu16/ubuntu16.box

8、初始化开发环境(如果上一步添加box名称不是base,那么需要在初始化的时候指定名称,默认是base)
linuxidc@linux:~/ubuntu16_dev$ vagrant init ubuntu16_dev
linuxidc@linux:~/ubuntu16_dev$ ls -l
-rw-rw-r-- 1 linuxidc toby 3016 dic  2 00:29 Vagrantfile    #初始化成功后会生成这个配置文件

9、修改设置
Vagrant 初始化成功后,会在初始化的目录里生成一个 Vagrantfile 的配置文件,可以修改配置文件进行个性化的定制。
Vagrant 默认是使用端口映射方式将虚拟机的端口映射本地从而实现类似 http://localhost:80 这种访问方式,这种方式比较麻烦,新开和修改端口的时候都得编辑。相比较而言,host-only 模式显得方便多了。打开 Vagrantfile,将下面这行的注释去掉(移除 #)并保存:
config.vm.network :private_network, ip: "192.168.33.10"
重启虚拟机,这样我们就能用 192.168.33.10 访问这台机器了,你可以把 IP 改成其他地址,只要不产生冲突就行。
还有很多配置修改后续再继续详解;

10、启动虚拟机
在命令行工作目录下执行下面命令进行启动虚拟机
vagrant up
你会看到终端显示了启动过程,启动完成后,我们就可以用 SSH 登录虚拟机了,剩下的步骤就是在虚拟机里配置你要运行的各种环境和参数了。

重启虚拟机的命令
vagrant reload

11、SSH 登录也可以使用客户端连接工具连接
vagrant ssh
vagrant@linuxidc:~$    #看到这个已经是进来了虚拟机

12、连接上以后,切换到开发目录
cd /vagrant也就是宿主机上的 /home/linuxidc/ubuntu16_dev

宿主机上的/home/linuxidc/ubuntu16_dev目录对应虚拟机中的目录是 /home/vagran

13、打包分发
当你配置好开发环境后
退出并关闭虚拟机。在终端里对开发环境进行打包:
vagrant package

打包完成后会在当前目录生成一个 package.box 的文件,将这个文件传给其他用户,其他用户只要添加这个 box 并用其初始化自己的开发目录就能得到一个一模一样的开发环境了。

14、常用命令
vagrant init  # 初始化
vagrant up  # 启动虚拟机
vagrant halt  # 关闭虚拟机
vagrant reload  # 重启虚拟机
vagrant ssh  # SSH 至虚拟机
vagrant status  # 查看虚拟机运行状态
vagrant destroy  # 销毁当前虚拟机

相关推荐