Vagrant 是一個簡單易用的部署工具,用英文說應該是 Orchestration Tool 。它能幫助開發人員迅速的構建一個開發環境,幫助測試人員構建測試環境, Vagrant 基於 Ruby 開發,使用開源 VirtualBox 作為虛擬化支持,可以輕鬆的跨平臺部署。 通俗的來說, 就是在本地 ...
Vagrant 是一個簡單易用的部署工具,用英文說應該是 Orchestration Tool 。它能幫助開發人員迅速的構建一個開發環境,幫助測試人員構建測試環境, Vagrant 基於 Ruby 開發,使用開源 VirtualBox 作為虛擬化支持,可以輕鬆的跨平臺部署。
通俗的來說, 就是在本地部署一個和 Linux 虛擬機上的同步文件夾, 這樣所有的操作都方便了許多
準備工作
- 下載 VirtualBox 虛擬器 : https://www.virtualbox.org/
- 下載安裝 Vagrant : http://www.vagrantup.com/
- 下載使用的 box (
這裡的 box 指的是系統
) : http://www.vagrantbox.es/ - 在本地建立一個工作文件夾
部署環境
-
進入工作文件夾中
-
把下載的 box 鏡像包放到工作目錄下-這裡我以
Ubuntu.14.04
為例 -
打開終端進入工作目錄, 或者你可以在當前目錄按住
shift+滑鼠右鍵
可快速打開當前目錄的終端 -
我們執行
vagrant box list
可查看當前添加進 vagrant 的鏡像 -
如果沒有添加 box 鏡像, 我們執行
vagrant box add 系統名字 box鏡像
-
這時候我們執行
vagrant box list
就可以查看我們添加的 box 鏡像 -
box 鏡像添加到 vagrant 裡面後我們就可以執行
vagrant init 系統名
初始化, 初始成功後我們可以看見當前工作目錄下會生成一個Vagrantfile
的配置文件 -
因為我們虛擬機預設只分配一個訪問外網的 IP, 項目使用的 IP 得手動設置打開
Vagrantfile
找到29行(我的配置文件在29行)設置一個私有 IP -
到這裡所有配置工作都完成了, 我們可以
vagrant up
正式啟動了, 啟動成功後會在當前目錄生成一個.vagrant
的隱藏文件夾 -
在工作目錄中, 使用了
vagrant up
命令, 我們虛擬機會自動的幫我們配置一個系統, 然後自動後臺啟動, 以後都無須管理虛擬機讓虛擬機在後臺玩兒去吧
-
我們可以在當前目錄使用
vagrant ssh
直接連接到虛擬機裡面, 也可以使用第三方工具進行連接如Putty
,Xshell
, IP 為我們剛剛在Vagrantfile
配置文件中設置的私有 IP特別註意: 如果是第三方工具連接, 用戶名和密碼都是
vagrant
-
虛擬機裡面的
/vagrant
這個文件夾是和我們本地同步的文件夾 -
下麵我們就來看看vagrant神奇的地方, 我們在
/vagrant
同步文件夾裡面創建一個文件a
, 看看我們本地發生了什麼....., 同樣我們在本地把這個a
文件刪除, 看看虛擬機裡面發生了什麼... - 這樣我們以後從伺服器拉取下來的項目, 就可以直接在同步文件夾操作, 操作本地文件, 就相當於操作虛擬機, 目前已經有很多大型公司使用
vagrant
, 因為這可以提升他們的開發效率
最後附上vagrant
一些常用的命令
$ vagrant box add NAME URL
#添加一個box$ vagrant box list
#查看本地已添加的box$ vagrant box remove NAME virtualbox
#刪除本地已添加的box,如若是版本1.0.x,執行$ vagrant box remove NAME$ vagrant init NAME
#初始化,實質應是創建Vagrantfile文件$ vagrant up
#啟動虛擬機$ vagrant halt
#關閉虛擬機$ vagrant destroy
#銷毀虛擬機$ vagrant reload
#重啟虛擬機$ vagrant package
#當前正在運行的VirtualBox虛擬環境打包成一個可重覆使用的box$ vagrant ssh
#進入虛擬環境