vagrant的安裝和使用
安裝和配置
## 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