1. 程式人生 > >vagrant的安裝和使用

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