安装和配置
## 2.1: 第一次使用,没有vagrant环境
- 下载并安装[oracle-vm](http://download.virtualbox.org/virtualbox/5.0.0/VirtualBox-5.0.0-101573-Win.exe)
- 配置oracle vm环境变量,vagrant会在全局变量中调用oracle vm启动命令
- 下载并安装[vagrant](https://releases.hashicorp.com/vagrant/1.9.0/vagrant_1.9.0.msi)
- 配置vagrant环境变量
wins系统:
在系统变量PATH后添加
;E:\Program Files\Oracle\VirtualBox;E:\HashiCorp\Vagrant\bin
- 下载box系统模版,参考第四部分
- 使用box模版,创建属于自己的box
```bash
#添加box镜像到环境:vagrant box add 为vagrant的命令dev为box环境名称,可自定义;centos-6.5-x86_64-base.box为下载的box模版和第三方制作的box文件,也可以是指定的互联网资源在线安装
vagrant box add dev centos-6.5-x86_64-base.box
#创建并进入box工作环境
cd /e/box_workdir
#初始化:生成vagrantfile配置文件
vagrant init dev
#配置vagrantfile
Vagrant.configure(2) do |config|
config.vm.box = "dev" #修改成本地环境的box名称
config.vm.network "forwarded_port", guest: 80, host: 80 #端口转发模块
config.vm.network "forwarded_port", guest: 9000, host: 9000
config.vm.network "forwarded_port", guest: 3306 , host: 33060
config.vm.network "forwarded_port", guest: 6379, host: 63790
config.vm.network "forwarded_port", guest: 11211, host: 11212
#config.vm.network "forwarded_port", guest: 1194, host: 11940
config.vm.synced_folder "./share", "/vagrant_data", :mount_options => ["dmode=777","fmode=777"] #共享本地share路径到虚拟机/vagrant_data路径
end
#启动虚拟机
vagrant up
#ssh连接到虚拟机:非必需操作
vagrant ssh
#打包分发:非必需操作
vagrant package --output=yourboxname.box --base in_oracle_vm_name
```
## 2.2:多次使用,已有vagrant环境
```bash
#添加box镜像到环境:vagrant box add 为vagrant的命令dev为box环境名称,可自定义;centos-6.5-x86_64-base.box为下载的box模版和第三方制作的box文件
vagrant box add dev /e/box_download/centos-6.5-x86_64-base.box
#创建并进入box工作环境
cd /e/box_workdir
#初始化:生成vagrantfile配置文件
vagrant init dev
#配置vagrantfile
#启动虚拟机
vagrant up
#ssh连接到虚拟机:非必需操作
vagrant ssh
#打包分发:非必需操作
vagrant package --output=yourboxname.box --base in_oracle_vm_name
```
# 三:常用命令
- 帮助
```bash
vagrant -h #查看vagrant 支持的所有命令
vagrant box -h #查看vagrant 的子命令box的帮助
```
- 添加box
```bash
vagrant box add centos/7 #在线安装centos7的box环境
vagrant box add huoxing360/devbox-LNMP #在线安装集成lnmp的box环境
vagrant box add dev /e/box_download/centos-6.5-x86_64-base.box #安装本地box文件
- 查看box
vagrant box list
- 删除box
vagrant box remove dev #删除指定的box环境
```
- 开机,关机等操作
```bash
vagrant up #开启虚拟机
vagrant halt #关闭虚拟机
vagrant suspend #暂停虚拟机
vagrant resume #恢复暂停的虚拟机
vagrant reload #修改vagrantfile后,重启虚拟化环境
```
- 快照
```bash
vagrant snapshot list #查看当前保存的快照
vagrant snapshot save shot1 #创建一个名为shot1的快照
vagrant snapshot restore shot1 #恢复快照
vagrant snapshot delete shot1 #删除快照
vagrant snapshot push #创建快照,快照自动命名:push_随机数
vagrant snapshot pop #恢复到最新的快照,并删除快照
```
- ssh操作
```bash
vagrant ssh
```
- 打包操作
```bash
vagrant package --output yourbox.box --base in_oracle_vm_name.box -f
```
- 销毁操作
```bash
vagrant destory
```
# 四:官方地址
vagrant: https://www.vagrantup.com/
vagrantfile配置,使用vboxmanage命令:http://underpop.online.fr/v/virtualbox/ch08s08.html
oracle vm: https://www.virtualbox.org/
box资源:http://www.vagrantbox.es/
https://atlas.hashicorp.com/boxes/search