Vagrant的介绍

Vagrant是构建在虚拟化技术之上的虚拟机运行环境管理工具。通过Vagrant可以方便实现的对虚拟机的管理,包括建立和删除虚拟机、配置虚拟机运行参数、管理虚拟机运行状态、自动化配置和安装开发环境必须的各类软件、打包和分发虚拟机运行环境等。

Vagrant的运行需要依赖某项具体的虚拟化技术,比如VirtualBox, VMware, AWS等,同时一些配置脚本比如shell脚本、Chef或Puppet可以用来管理虚拟环境。

Vagrant的好处

如果你是开发人员,Vagrant可以将你的配置独立在一个可部署环境中,包括你所用到的工具(比如:编辑器、浏览器、调试器等),一旦你或者其他人创建了一个Vagrantfile,只需要使用命令vagrant up,这些东西已经安装配置好了。工作组的其他人员可以使用同样的配置创建开发环境,不管工作平台是Linux、Mac OS X或者Windows,所有工作人员可以在相同的开发环境中运行代码、以同样的办法解决相同的依赖和配置。告别“在我机子上工作正常”这种说法。

如果你是实施工程师,Vagrant为你的基础管理脚本的开发和测试提供一个可部署的环境以及统一的流程,你可以快速的展开测试,比如shell脚本、Chef cookbook,Puppet模块以及虚拟的使用,你可以使用相同的配置、相同的流程在云环境比如AWS、RackSpace测试脚本。

如果你是一个设计师,Vagrant会自动设置号WEB应用的一切环境,以便您能够专注于做自己最擅长的:设计。一旦开发人员配置Vagrant,你不必担心如何再次运行应用程序。也不用再麻烦其他开发人员来帮助你配置基础环境,你只需要检出代码、vagrant up并且开始设计。

Vagrant的安装

本文教程的虚拟机是基于VirtualBox的(VMWare也可以,但是需要破解),下面来介绍安装VirtualBox和Vagrant的安装。

1、VirtualBox的安装

下载地址:https://www.virtualbox.org/wiki/Downloads
历史版本:https://www.virtualbox.org/wiki/Download_Old_Builds_4_3_pre24

2、Vagrant的安装

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

3、版本兼容性

VirtualBox:自版本4.3.12后启动虚拟机会存在各种问题,因此建议安装4.3.12版本。
Vagrant:从1.0.x可以直接升级到1.x版本,Vagrant向后兼容Vagrant1.0.x,但是1.1+版本不在支持1.0.x版本的插件,因此插件也要做相应升级。

4、其他安装建议

建议安装好之后将VirtualBox的虚拟机位置设置到其他盘,否则占用默认C盘空间较大,已安装的虚拟机需要移动到新的目录下,具体设置办法请见下图:

Vagrant启动

简单来说,使用以下两条命令就可以启动一个Vagrant环境了:

bash$ vagrant init hashicorp/precise32
$ vagrant up

通过上面两个命令,就可以在VirtualBox中启动并运行Ubuntu 12.04 LTS 32-bit了,可以使用命令vagrant ssh登录到这台虚拟机上,当完成一切操作之后,可以使用vagrant destroy命令来销毁它。

下面我们分步骤来介绍怎么配置并且启动一个基于VirtualBox虚拟机的Vagrant环境:

1、建立工程(Project)

开始任何一个项目需要一个名为Vagrantfile的文件来配置Vagrant,这个文件的作用有一下两个:

  • 标识Vagrant项目的根目录,后续的大部分Vagrant配置都与此目录有关。
  • 描述工程启动所需的虚拟机类型和资源,以及需要安装的软件和你的访问方式。

可以使用命令vagrant init来初始化项目目录,可以按照以下步骤操作

bash$ mkdir vagrant_project
$ cd vagrant_project
$ vagrant init

这样在当前目录下就会生成名为Vagrantfile的文件,当然也可以在已有的工程目录下执行vagrant init命令来初始化生成这个文件。

2、添加虚拟机(Boxes)

可以使用命令vagrant box add来添加虚拟机,例如要添加Ubuntu12.04,我们可以使用:

bash$ vagrant box add hashicorp/precise32

未完待续。。。

你可能感兴趣的文章

苏生不惑 · 2015年09月13日

还更新吗

+2 回复

载入中...
glc400 glc400

226 声望

发布于专栏

glc400

我的博客

1 人关注

系列文章