1. 程式人生 > >vagrant的安裝及配置

vagrant的安裝及配置

作為一個用了很多年虛擬化的老使用者,習慣於通過vmware或virtualbox來做虛擬化的學習研究。這兩天在研究容器,發現基於vagrant建立linux系統來做docker測試會方便很多,故而把安裝過程記錄一下。
首先我們需要裝一個virtualbox,
請移步官網:https://www.virtualbox.org/
安裝過程比較簡單就不說了,官網上步驟寫的很清楚。

然後裝一個vagrant,官網下載地址:https://www.vagrantup.com/downloads.html
我的系統版本是windows7 64位,直接裝,我是裝在E盤,裝完以後cmd敲出命令列:

E:
cd HashiCorp
mkdir centos7
cd centos7

建立一個虛擬機器:

vagrant init centos/7

此時會在目錄中多了一個Vagrantfile檔案,我們可以檢視這個檔案內容

more Vagrantfile

繼續執行:

vagrant up

我這邊丟擲瞭如下異常:

The version of powershell currently installed on this host is less than
the required minimum version. Please upgrade the installed version
of powershell to the minimum required version and run the command again.

大概意思就是說powershell版本太低,那就升級咯
安裝Windows Management Framework 3.0的6.1核心版本安裝檔案Windows6.1-KB2506143-x64.msu
裝完之後需要重啟電腦。
然後再重新執行vagrant up
這次應該就可以正常的vagrant up,當然,可能時間會比較長一些。
完成以後,可以看到在virtualbox中自動建立了一個新的虛擬機器。
然後就可以通過命令列直接進入虛擬機器:

vagrant ssh

我們也可以通過其他ssh工具進行登入,IP為Vagrantfile中指定的hostonly地址,使用者名稱與密碼預設都是vagrant

其他命令:

vagrant status  #檢視狀態
vagrant halt    # 關機
vagrant up      # 啟動
vagrant destroy # 刪除
vagrant reload  # 重啟
vagrant suspend   # 掛起
vagrant resume    # 喚醒

box管理命令:

vagrant box list    # 檢視本地box列表
vagrant box add     # 新增box到列表
vagrant box remove  # 從box列表移除   

另外,很多安裝映象都來源於https://vagrantcloud.com/,比如我現在用到的centos7就在
https://app.vagrantup.com/centos/boxes/7
所以我們可以直接複製這一段程式碼:

Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
end

在指定目錄下,新建個檔案叫Vagrantfile,然後把複製程式碼粘進去,然後vagrant up ,效果跟上面是一樣的。
官方網站裡面也有詳細的說明。

上面的方法雖然有效但是可能會很慢,我們也可以先下載box,然後在本地新增:
官方的box下載地址http://www.vagrantbox.es/
新增vagrant的box的格式:
vagrant box add {title} {url}
如:vagrant box add centos7.2 D:\vagrant-centos-7.2.box

然後繼續執行:

vagrant init centos7.2   
vagrant up   

做埠對映:
直接在Vagrantfile中新增:

config.vm.network :forwarded_port, guest: 3306, host: 3306  

然後vagrant reload