第一部分 Vagrant概覽

Vagrant文檔

前段時間學習"Foundations of Python Network Programming(3rd)",裏面用到了vagrant就順便學習了一下。發現網上有很多關於Vagrant的介紹文檔,但是都不是很全。於是把Vagrant的文檔翻譯了,跟大家分享。具體的vagrant文檔網址是www.vagrantup.com/docs,翻譯不準確之處還請大家批評指正。

概述

Vagrant文檔對Vagrant的官方定義是管理虛擬機生命週期的命令集。該文檔描述了Vagrant從底層到頂層的所有特性,包含了所有的細節描述。如果是初學者官方文檔建議從初學者指南開始學習。

爲什麼選用Vagrant

Vagrant提供了一種便捷、可配置、可再生的工作環境。該環境建立在標準的行業技術和一致的工作流程控制的基礎上,這種環境的建立可以讓你和你的團隊的生產力和靈活性最大化。爲了實現這個目的,Vagrant建立在巨人的肩膀上。Vagrant可以同Virtualbox,Vmware,AWS所有其他的虛擬機制一起協同工作,這樣的話,類似於Shell,Puppet,chef等這些標準的配置工具,就可以在機器上自動的安裝配置軟件

Vagrant的優點

如果你是個開發人員,Vagrant會把相關環境和依賴的一些程序合併到一個一致的環境中,避免了安裝編譯器,瀏覽器,編輯器等。一旦一個Vagrantfile創建了,只需要運行Vagrant up命令所有的配置都會自動安裝好。團隊裏面的其他工作人員,只需要在同一個配置文件中就行。所以不論你工作在Linux,Max os ,windows。團隊裏面的所有人員都實際上運行在同一個環境上面。不管是配置還是依賴的其他安裝包都是一致的。

如果你是個運維工程師,Vagrant會提供對開發和測試設備管理的一次性環境和一致的工作流程。你可以快速的測試Shell腳本、Chel,Puppet.用相同的配置還可以測試類似於AWS\RackSpace等雲環境。扔掉回收EC2實例、雜亂SSH提示的各種自定義腳本。使用Vagrant會使你變得簡單明瞭。

如果你是設計師,Vagrant可以自動的設置好所有的Web開發所需要的事情,你只需要專注於你最擅長的設計就可以了。一旦一個開發人員配置好了Vagrant,你再也不用擔心他所開發的App不能在你的設備裏面運行。也不用麻煩開發人員來幫你安裝,你可以全心全力的集中在測試,只需要導出代碼,運行Vagrnt up命令,開始設計就可以了。

Vagrant安裝

安裝Vagrant是一個非常簡單的事情。只需要到Vagrant的下載地址www.vagrantup.com/downloads.html,根據自己的操作系統下載合適的安裝包。按照正常的安裝程序,安裝就可以了。Vagrant的安裝程序會自動的添加 vagrant目錄到系統目錄下面,這樣在命令行模式下就可以運行了。不需要手動添加。

向後兼容

Vagrant1.1以上的版本提供了向agrant1.0版本兼容的功能。根本不需要安裝插件或者別的什麼。安裝完Vagrant1.1.後,Vagrant1.0的運行環境不需要修改就可以繼續運行。已經正在運行的機器還會自動的管理。Vagrant的兼容層將會一直持續到Vagrant2.0版本。可以以後的版本也會存在,但是Vagrant的兼容性只保持2個版本。但是用Vagrant1.0的人也不用擔心。從目前來看,Vagrant過很長時間才能發佈一個新的版本。如果你用Vagrant1.0的插件,在升級前,你必須先把這些插件刪除掉。因爲從Vagrang1.1開始將會禁止這些之前的不兼容插件。1.X版本的向後兼容不是很好,並且語法的穩定性也不是很好。直到2.0版這些纔有改善。Vagrant 2.0最終有一個完整的Vagrantfile文件,使其保留了兼容性。

升級

如果是1.X版本的Vagrant升級很簡單,只需要下載最新的安裝包,然後安裝覆蓋掉之前的就可以了。安裝程序會自動的移除舊文件,你只需要確認沒有Vagrant 進程在運行就可以了。新Vagrantfile的語法直到2.0版本之前是不能保證穩定性的。所以Vagrant 1.0x版本指定的agrantfile還會繼續工作,新的Vagrantfile直到2.0版本纔有向後兼容性的改變。

用Vagrant源代碼安裝

用Vagrant源代碼安裝是一個高級話題,建議只有當用安裝包安裝不了的時候再用源代碼安裝。

安裝Ryb

了編譯和開發Vagrant,必須要有Ruby2.0或者以上版本。具體的Ruby版本記錄在Vagrant的gemspec文件中,這裏對於Ruby的安裝不做詳細的介紹,但是以下幾個問題需要注意一下:

1)不要用系統自帶的Ruby,可以用rvm或者chruby命令來查看Ruby的版本號

2)確保系統安裝的是最新的Rubygems

3)確保系統安裝的Bunder版本和Vagrant的版本一致,具體的版本可以從Vagrant.gemspec中查看

下載代碼

Vagrant的代碼都是放在GitHub上面,可以通過如下命令來獲取:

$git clone https://github.com/mitchellh/vagrant.git
進入到下載代碼的目錄
$ cd /path/to/your/vagrant/clone
按照相關要求運行bundle
$bundle _1.10.6_ install
現在就可以用 bundle exec vagrant命令來運行vagrant了。爲了能在別的目錄應用Vagrant,需要用bundle創建一個二進制文件,並且添加到系統目錄中。
首先運行

$bundle --binstubs exec

這個命令會生成一個vagrant程序在exec文件夾下,這樣在系統的任何地方你都可以應用vagrant程序例如

$ /path/to/vagrant/exec/vagrant init -m hashicorp/precise64

如果不想每次那麼費勁的輸入那麼多路徑,可以創建一個符號連接。

$ ln -sf /path/to/vagrant/exec/vagrant /usr/local/bin/vagrant
當需要轉到正常的Vagrant的時候,只需要把這個連接刪掉就行了。

刪除

卸載Vagrant是一個非常簡單的事情。可以直接卸載Vagrant的二進制文件和用戶數據。卸載Vagrant的二進制文件,將會卸載所有與Vagrant相關的文件,卸載後,可以按照標準的方法重新裝一遍。

Window

Window下卸載可以直接在控制面板中卸載

Mac OS x

rm -rf /Applications/Vagrant
rm -f /usr/local/bin/vagrant
sudo pkgutil --forget com.vagrant.vagrant

Linux

rm -rf /opt/vagrant
rm -f /usr/bin/vagrant

刪除用戶數據將會刪除所有的boxes,插件,版本信息和其他的Vagrant保存的信息。刪除用戶數據可以是Vagrant的安裝變得簡單。在所有的系統中都是刪除~/.vagrant.d目錄下的是用戶信息。當編譯的時候,建議把這個目錄刪掉,在刪除之前,最好做一下備份。運行Vagrant會自動生成所有必要的數據,所以刪除用戶數據信息是安全的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章