【vagrant 介绍】

Vagrant 是一个用来构建和管理虚拟机环境的工具。Vagrant 有着易于使用的工作流,并且专注于自动化,降低了开发者搭建环境的时间,提高了生产力。解决了“在我的机器上可以工作”的问题。

Vagrant 是为了方便的实现虚拟化环境而设计的,使用 Ruby 开发,基于 VirtualBox 等虚拟机管理软件的接口,提供了一个可配置、轻量级的便携式虚拟开发环境。使用 Vagrant 可以很方便的就建立起来一个虚拟环境,而且可以模拟多台虚拟机,这样我们平时还可以在开发机模拟分布式系统。

团队新员工加入,常常会遇到花一天甚至更多时间来从头搭建完整的开发环境,而有了Vagrant,只需要直接将已经打包好的 package(里面包括开发工具,代码库,配置好的服务器等)拿过来就可以工作了,这对于提升工作效率非常有帮助。

为什么选择 Vagrant

Vagrant 提供了一个易于配置,可重复使用,兼容的环境,通过一个单一的工作流程来控制,帮助你和团队最大化生产力和灵活性。 

为了实现 Vagrant 的魔力,Vagrant 站在了巨人的肩膀上。虚拟机的配置基于 VirtualBox,VMware,AWS 或者其他提供商。然后一些配置工具,比如 shell 脚本,Chef 或者 Puppet 可以自动化地在虚拟机安装并配置软件。

Vagrant is a tool for building and managing virtual machine environments in a single workflow. With an easy-to-use workflow and focus on automation, Vagrant lowers development environment setup time, increases production parity, and makes the "works on my machine" excuse a relic of the past.

Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它 使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境。我们可以使用它来干如下这些事:

建立和删除虚拟机

配置虚拟机运行参数

管理虚拟机运行状态

自动配置和安装开发环境

打包和分发虚拟机运行环境

​Vagrant的运行,需要依赖某项具体的虚拟化技术,最常见的有VirtualBox以及VMWare两款,早期,Vagrant只支持VirtualBox,后来才加入了VMWare的支持。

​为什么我们要选择Vagrant呢?因为它有跨平台、可移动、自动化部署无需人工参与等优点。

Vagrant provides easy to configure, reproducible, and portable work environments built on top of industry-standard technology and controlled by a single consistent workflow to help maximize the productivity and flexibility of you and your team.

To achieve its magic, Vagrant stands on the shoulders of giants. Machines are provisioned on top of VirtualBox, VMware, AWS, or any other provider. Then, industry-standard provisioning tools such as shell scripts, Chef, or Puppet, can automatically install and configure software on the virtual machine.

因为我们知道vagrant依赖virtualbox,所以我们需要在安装vagrant之前先安装virtualbox,

vagrant box基本命令

列出本地环境中所有的box

vagrant box list

添加box到本地vagrant环境

vagrant box add box-name(box-url)

更新本地环境中指定的box

vagrant box update box-name

删除本地环境中指定的box

vagrant box remove box-name

重新打包本地环境中指定的box

vagrant box repackage box-name

在空文件夹初始化虚拟机

vagrant init [box-name]

在初始化完的文件夹内启动虚拟机

vagrant up

ssh登录启动的虚拟机

vagrant ssh

挂起启动的虚拟机

vagrant suspend

重启虚拟机

vagrant reload

关闭虚拟机

vagrant halt

查找虚拟机的运行状态

vagrant status

销毁当前虚拟机

vagrant destroy

猜你喜欢

转载自gaojingsong.iteye.com/blog/2441532