Vagrant是一個基於Ruby的工具,用於建立和部署虛擬化開發環境,有點docker的容器的味道.linux
適合於在window下,但代碼跑在linux上的那類像我同樣買不起mac的窮屌絲.docker
爲linux和window建立共享目錄,window下開發,linux上代碼直接同步shell
vagrant 的相關命令特別少,便於使用ubuntu
開發環境配置一次能夠生成box文件,可移植.網絡
官網地址: https://www.vagrantup.com/
下載box的地址:ssh
vagrant工具
VirtualBox.net
ubuntu14.04.box(舉例)命令行
vagrant是一款虛擬機管理工具,使用它能夠快速搭建可複用、可移植的開發環境。vagrant
安裝VirtualBox
安裝vagrant 查看是否安裝成功,cmd下vagrant -v
添加鏡像到vagrant
vagrant box add ubuntu14.04 F:/vagrantBox/ubuntu14.04.box
ubuntu14.04
爲咱們給box命名的名稱 F:/vagrantBox/ubuntu14.04.box
爲鏡像的路徑
在vagrantBox目錄上按住shift而後鼠標右鍵,選擇在此打開命令窗口便可在命令行進入當前目錄
vagrant box list --查看box的列表
初始化開發環境
命令行下進入當前目錄,執行下面的命令
vagrant init ubuntu14.04
相應會生成一個名稱爲Vagrantfile
的配置文件
修改配置文件
打開 Vagrantfile,取消下面的註釋,而後重啓
config.vm.network "public_network" --公共網絡,相似於virtual box的橋接模式
自定義ip地址,能夠經過該ip鏈接該機器
Vagrant 默認是使用端口映射方式將虛擬機的端口映射本地從而實現相似 http://localhost:80 這種訪問方式,這種方式比較麻煩,新開和修改端口的時候都得編輯。
啓動和登陸
啓動vagrant up
,查看狀態vagrant status
能夠經過客戶端工具執行ssh登陸
默認帳號:vagrant 默認密碼:vagrant 能夠在配置文件查看.
cmd下vagrant ssh
命令,能夠查看到以下信息
Host: 127.0.0.1 Port: 2222 Username: vagrant --遠程鏈接帳號 Private key: C:/Users/Administrator/.vagrant.d/boxes/ubuntu14.04/0/virtualbox/va grant_private_key --遠程鏈接祕鑰
這裏以xshell爲例,選擇祕鑰登陸 主機爲: 配置文件中修改的ip
打包分發
當你配置好開發環境後,退出並關閉虛擬機。在終端裏對開發環境進行打包:
vagrant package --在當前box路徑運行,直接生成一個package.box的包 vagrant package --output boxname --在當前box目錄下生成一個boxname名稱的合做
打包完成後會在當前目錄生成一個 package.box
的文件,將這個文件傳給其餘用戶,其餘用戶只要添加這個 box 並用其初始化本身的開發目錄就能獲得一個如出一轍的開發環境了。
本人使用第二條命令打包之後,本地盒子不能用了,可是導出的盒子能夠用
基本命令
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 #進入虛擬環境
`window下的虛擬主機的配置目錄
C:WindowsSystem32driversetchosts`
注意:默認分配512M,能夠擴大爲1G 左右,不然在安裝的時候,可能會報錯