1. 程式人生 > >使用vagrant+VirtualBox搭建虛擬開發環境

使用vagrant+VirtualBox搭建虛擬開發環境

1.Vagrant

Vagrant是一個虛擬機器管理和配置工具,所以虛擬機器系統還得靠專門的虛擬化軟體,Vagrant它底層支援VirtualBoxVMware甚至AWS作為虛擬機器系統。通常情況下,如果你的Vagrant環境需要封裝給其他小夥伴們用,最好使用VirtualBox這個支援OSX/Linux/Win三大宿主系統的免費軟體作為後端。而且,Vagrant預設已經內建了VirtualBox Provider用來跟 VirtualBox互動,所以安裝完Vagrant再去VirtualBox官網下載並安裝VirtualBox就可以正式開始使用了。

總之,Vagrant是通常用於構建及配置虛擬開發環境的軟體。

Vagrant並不提供虛擬化技術,本質上是一個虛擬機器外掛,通過虛擬機器的管理介面來管理虛擬機器。說白了vagrant就是一個普普通通的裝了一個Linux的VirtualBox虛擬機器,配以vagrant團隊為之開發的一系列套件,輔助完成諸如安裝初始化、檔案同步、ssh、部署環境升級、功能外掛安裝等等一些列問題的開發環境部署套件。

vagrant虛擬開發環境搭建好之後,在Virtualbox中可以看到被vagant創建出來的新虛擬機器。

2.Vagrant虛擬工作環境的搭建

以下是在Windows7系統下親測通過:

1)安裝virtualbox,官網下載,很好安裝

下載地址:https://www.virtualbox.org/wiki/Downloads

2)安裝Vagrant,官網下載,很好安裝

下載地址:http://downloads.vagrantup.com/

3)下載boxbox是一個字尾為 box 的檔案,實際上它就是一個包含了虛擬機器配置、虛擬機器硬碟映象和Vagrant 配置的壓縮包),這個灰常重要哦

備註:可以到http://www.vagrantbox.es/上下載box,但是國內會灰常慢。

4)新增box

執行如下命令:

vagrant box add test 遠端的box地址或者本地的box檔名

備註:其中test是我們給這個 box 命的名字eg

vagrant box add test https://dl.dropbox.com/u/7225008/Vagrant/CentOS-6.3-x86_64-minimal.box
vagrant box add testCentOS-6.3-x86_64-minimal.box
vagrant box add "CentOS 6.3 x86_64 minimal" CentOS-6.3-x86_64-minimal.box

執行完新增box命令後,box中的映象檔案被放到了/Users/astaxie/.vagrant.d/boxes/,如果在window系統中應該是放到了C:\Users\當前使用者名稱\.vagrant.d\boxes\目錄下。

5)初始化

cd到開發目錄(這裡的開發目錄和vagrant ssh登入虛擬機器後的/vagrant目錄是一樣的),然後執行如下命令:

vagrant init test

6)啟動虛擬機器

vagrant up

7)登入虛擬機器

vagrant ssh

備註:windows系統上要安裝OpenSSH(http://sourceforge.net/projects/opensshwindows/)之後且為openssh配置了PATH環境變數之後才可以的。不然因為找不到ssh命令,vagrant ssh會執行失敗。

3.修改virutalboxvagrant的預設目錄

virtualboxvagrant預設都是放到系統C盤中,如果安裝的box比較多,很容易打滿C盤。這個目標路徑的配置是可以修改的:

1)更改VirtualBox虛擬機器映像檔案的位置

開啟 VirtualBox 程式,點選管理/全域性設定選單項(Ctrl+G), 將常規欄裡的預設虛擬電腦位置(M)改為其他磁碟下的路徑

將原路徑 C:\Users\user_name\.VirtualBox\VirtualBox VMs 下的檔案移動到新路徑下。

重新啟動VirtualBox程式,在虛擬機器列表裡,以前建立的虛擬機器雖然都還在,但已經不可用了,將他們全部刪除。

雙擊開啟新路徑各個資料夾裡的vbox檔案,將建立的虛擬機器重新匯入。

2)更改vagrant配置檔案的位置

C:\Users\user_name\.vagrant.d 移動到新的位置

新建環境變數VAGRANT_HOME,並指向新路徑

學習資料參考於:

4.從零製作vagrant box

5.vagrant的其他的一些常用的操作命令

vagrant halt    #關閉虛擬機器環境,其實是呼叫vitualbox的管理介面,關閉了虛擬機器
vagrant suspend #暫停虛擬機器環境
vagrant reload  #修改了Vagrantfile後,使之生效(相當於先halt,再up)

6.效果展示

被Vagrant創建出來的虛擬機器:


使用vagrant ssh登入虛擬機器:


學習資料參考於: