1.Vagrant

Vagrant是一个虚拟机管理和配置工具,所以虚拟机系统还得靠专门的虚拟化软件,Vagrant它底层支持VirtualBoxVMware甚至AWS作为虚拟机系统。通常情况下,如果你的Vagrant环境需要封装给其他小伙伴们用,最好使用VirtualBox这个支持OSX/Linux/Win三大宿主系统的免费软件作为后端。而且,Vagrant默认已经内置了VirtualBox Provider用来跟 VirtualBox交互,所以安装完Vagrant再去VirtualBox官网下载并安装VirtualBox就可以正式开始使用了。

总之,Vagrant是通常用于构建及配置虚拟开发环境的软件。

Vagrant并不提供虚拟化技术,本质上是一个虚拟机外挂,通过虚拟机的管理接口来管理虚拟机。说白了vagrant就是一个普普通通的装了一个Linux的VirtualBox虚拟机,配以vagrant团队为之开发的一系列套件,辅助完成诸如安装初始化、文件同步、ssh、部署环境升级、功能插件安装等等一些列问题的开发环境部署套件。

vagrant虚拟开发环境搭建好之后,在Virtualbox中可以看到被vagant创建出来的新虚拟机。

 

2.Vagrant虚拟工作环境的搭建

以下是在Windows7系统下亲测通过:

1)安装virtualbox,官网下载,很好安装

下载地址:https://www.virtualbox.org/wiki/Downloads

2)安装Vagrant,官网下载,很好安装

下载地址:http://downloads.vagrantup.com/

3)下载boxbox是一个后缀为 box 的文件,实际上它就是一个包含了虚拟机配置、虚拟机硬盘镜像和Vagrant 配置的压缩包),这个灰常重要哦

备注:可以到http://www.vagrantbox.es/上下载box,但是国内会灰常慢。

4)添加box

执行如下命令:

vagrant box add test 远端的box地址或者本地的box文件名

备注:其中test是我们给这个 box 命的名字eg

vagrant box add test https://dl.dropbox.com/u/7225008/Vagrant/CentOS-6.3-x86_64-minimal.box
vagrant box add testCentOS-6.3-x86_64-minimal.box
vagrant box add "CentOS 6.3 x86_64 minimal" CentOS-6.3-x86_64-minimal.box

执行完添加box命令后,box中的镜像文件被放到了/Users/astaxie/.vagrant.d/boxes/,如果在window系统中应该是放到了C:\Users\当前用户名\.vagrant.d\boxes\目录下。

5)初始化

cd到开发目录(这里的开发目录和vagrant ssh登录虚拟机后的/vagrant目录是一样的),然后执行如下命令:

vagrant init test

6)启动虚拟机

vagrant up

7)登录虚拟机

vagrant ssh

备注:windows系统上要安装OpenSSH(http://sourceforge.net/projects/opensshwindows/)之后且为openssh配置了PATH环境变量之后才可以的。不然因为找不到ssh命令,vagrant ssh会执行失败。

 

3.修改virutalboxvagrant的默认目录

virtualboxvagrant默认都是放到系统C盘中,如果安装的box比较多,很容易打满C盘。这个目标路径的配置是可以修改的:

1)更改VirtualBox虚拟机映像文件的位置

打开 VirtualBox 程序,点击管理/全局设定菜单项(Ctrl+G), 将常规栏里的默认虚拟电脑位置(M)改为其他磁盘下的路径

将原路径 C:\Users\user_name\.VirtualBox\VirtualBox VMs 下的文件移动到新路径下。

重新启动VirtualBox程序,在虚拟机列表里,以前建立的虚拟机虽然都还在,但已经不可用了,将他们全部删除。

双击打开新路径各个文件夹里的vbox文件,将建立的虚拟机重新导入。

2)更改vagrant配置文件的位置

C:\Users\user_name\.vagrant.d 移动到新的位置

新建环境变量VAGRANT_HOME,并指向新路径

学习资料参考于:

http://wing2south.com/post/44371306891/vagrant/

 

4.从零制作vagrant box

http://xuclv.blog.51cto.com/5503169/1239351


5.vagrant的其他的一些常用的操作命令

vagrant halt    #关闭虚拟机环境,其实是调用vitualbox的管理接口,关闭了虚拟机
vagrant suspend #暂停虚拟机环境
vagrant reload  #修改了Vagrantfile后,使之生效(相当于先halt,再up)

6.效果展示

被Vagrant创建出来的虚拟机:


使用vagrant ssh登录虚拟机:




学习资料参考于:

https://github.com/astaxie/go-best-practice/blob/master/ebook/zh/01.1.md

https://imququ.com/post/vagrantup.html

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐