Vagrant 實戰(zhàn)

Vagrant 是一個可創(chuàng)建輕量級、高復用性和便于移植的開發(fā)環(huán)境的工具樟遣。

此文章是作者折騰vagrant的筆記茧妒, 希望大家看后酬蹋,不再去網上搜羅資料及老, 能順利搭建vagrant環(huán)境。vagrant更新較快除嘹, 還建議大家以官網為主写半。Vagrant官網

面臨的問題

  • 開發(fā)人員設備不統(tǒng)一, win , Mac , Linux等
  • 開發(fā)環(huán)境不統(tǒng)一尉咕, 各種軟件安裝叠蝇、版本和依賴管理困難
  • 沒有專業(yè)的人員來進行系統(tǒng)管理
  • 換了設備還要折騰新的開發(fā)環(huán)境

如果你希望本地開發(fā), 同時擁有統(tǒng)一的開發(fā)環(huán)境年缎, Vagrant 可以幫你搞定悔捶。

實戰(zhàn):Windows下,使用Vagrant部署Linux 開發(fā)環(huán)境

安裝VirtualBox

下載 Vagrant

  • 下載安裝Windows版
    window版是msi安裝文件单芜,直接界面安裝即可蜕该。
    如果下載centos版本,是rmp包
    rpm -ivh vagrant_1.8.1_x86_64.rpm

安裝 Vagrant

mkdir vagrant_getting_started
cd vagrant_getting_started
vagrant init

執(zhí)行init命令后洲鸠, 會在當前目錄生成一個配置文件 Vagrantfile

添加Vagrantbox

vagrant box add hashicorp/precise64
vagrant up

其中 hashicorp/precise64 是在(https://atlas.hashicorp.com/boxes/search)這里定義的堂淡, 會直接從網絡下載鏡像馋缅。

鑒于下載速度極慢,Vagrantbox還可以支持下載好直接本地add.

  • Vagrantbox資源及下載到本地

Vagrantbox鏡像網站

  • 安裝操作系統(tǒng)鏡像绢淀, 例如我們下載一個centos鏡像

[CentOS 6.5 x86_64](https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box]

從本地添加vbox

mkdir vagrant_getting_started
mkdir vagrant_vbox  #centos65-x86_64-20140116.box 下載到此目錄
cd vagrant_getting_started

vagrant box add centos65 vagrant_vbox/centos65-x86_64-20140116.box
vagrant up

其中centos65是我們自定義的vbox鏡像命名萤悴,vagrant_vbox/centos65-x86_64-20140116.box是vbox下載鏡像的本地路徑。

查看已經添加的box列表

vagrant box list

centos65 (virtualbox, 0)

說明添加成功皆的。

接下來可以配置Vagrantfile

Vagrant.configure(2) do |config|
    
  #box add 的名字
  config.vm.box = "centos65"
  
  #Vagrant的三種網絡配置
  #端口映射(Forwarded port) 把宿主計算機的端口映射到虛擬機的某一個端口上覆履,訪問宿主計算機端口時,請求實際是被轉發(fā)到虛擬機上指定端口的费薄。
  #例如下面的配置硝全,將訪問宿主計算機8080端口的請求都轉發(fā)到虛擬機的80端口上進行處理       #訪問localhost:8080,對應訪問虛擬機的80端口
  #優(yōu)點:容易實現外網訪問虛擬機
  #缺點:端口比較多時,配置麻煩楞抡;不支持在宿主機器上使用小于1024的端口來轉發(fā)伟众。比如:不能使用SSL的443端口來進行https連接。
  config.vm.network "forwarded_port", guest: 80, host: 8080
  
  #私有網絡(Private network) 拌倍,只有主機可以訪問虛擬機赂鲤,如果多個虛擬機設定在同一個網段也可以互相訪問,當然虛擬機是可以訪問外部網絡的柱恤。
  #優(yōu)點:安全,只有自己能訪問
  #缺點:因為私有的原因找爱,所以團隊成員其他人不能和你協作
  config.vm.network "private_network", ip: "192.168.33.10"
  
  #公有網絡(Public network) 梗顺,虛擬機享受實體機器一樣的待遇,一樣的網絡配置车摄,vagrant1.3版本之后也可以設定靜態(tài)IP寺谤。
  #優(yōu)點:方便團隊協作,別人可以訪問你的虛擬機
  #缺點:需要有網絡吮播,有路由器分配IP
  config.vm.network "public_network", ip: "192.168.12.253"
  
  
  #設置文件同步变屁,如下 ../www_data 是本地目錄, /vagrant_data是虛擬機文件目錄
  #兩個目錄設置為同步意狠,這樣就可以直接本地編輯文件粟关,使用虛擬機配置的軟件環(huán)境了。
  config.vm.synced_folder "../www_data", "/vagrant_data"
  

啟動虛擬機

vagrant up

配置ssh 登錄

vagrant ssh

執(zhí)行此命令后环戈,vagrant會生成ssh配置闷板,

hostname: localhost

port:   2222

Connection Type: SSH

User Name:  vagrant

Password:   vagrant

使用ssh 工具 , 如 xshell 即可登錄虛擬機

另外院塞,登錄到虛擬機如果想使用root遮晚,可以配置root密碼

sudo passwd root

打包分發(fā)

當你配置好開發(fā)環(huán)境后,退出并關閉虛擬機拦止。在終端里對開發(fā)環(huán)境進行打包

vagrant package

打包完成后會在當前目錄生成一個 package.box 的文件县遣,將這個文件傳給其他用戶糜颠,其他用戶只要添加這個 box 并用其初始化自己的開發(fā)目錄就能得到一個一模一樣的開發(fā)環(huán)境了。

也可以把配置文件打包進box

vagrant package --vagrantfile Vagrantfile

Vagrant 常用命令

Vagrant的命令很多.官網上有 完整的列表, 這里會介紹一些常用的.
vagrant up

vagrant up這會運行基于 Vagrantfile配置文件的vagrant. 我用來啟動和重啟開發(fā)環(huán)境.
vagrant suspend

vagrant suspend 這個能暫停當前環(huán)境操作. 最好在關機前做好這一步萧求,以防下次開機配置無法恢復.
Starting, Pausing, and Resuming: 啟動和重啟可以直接使用vagrant up. 所有之前的狀態(tài)都會被保存起來.
vagrant destroy

vagrant destroy永久性的移除你的虛擬環(huán)境.
vagrant reload

vagrant reload 和vagrant reload --provision如果環(huán)境掛了括蝠,可以重啟.如果加了--provision, 就會恢復資料庫. 這在使用Cookbooks 或Puppet移除或添加東西時很有效果.
vagrant ssh

vagrant ssh所有公共文件夾中的操作都會同步到虛擬環(huán)境,但如果需要直接操作可使用該命令.
vagrant ssh-config

vagrant ssh-config這個顯示連接到虛擬環(huán)境的所有配置項信息.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末饭聚,一起剝皮案震驚了整個濱河市忌警,隨后出現的幾起案子,更是在濱河造成了極大的恐慌秒梳,老刑警劉巖法绵,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異酪碘,居然都是意外死亡朋譬,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門兴垦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來徙赢,“玉大人,你說我怎么就攤上這事探越〗拼停” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵钦幔,是天一觀的道長枕屉。 經常有香客問我,道長鲤氢,這世上最難降的妖魔是什么搀擂? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮卷玉,結果婚禮上哨颂,老公的妹妹穿的比我還像新娘。我一直安慰自己相种,他們只是感情好威恼,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蚂子,像睡著了一般沃测。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上食茎,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天蒂破,我揣著相機與錄音,去河邊找鬼别渔。 笑死附迷,一個胖子當著我的面吹牛惧互,可吹牛的內容都是我干的。 我是一名探鬼主播喇伯,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼喊儡,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了稻据?” 一聲冷哼從身側響起艾猜,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎捻悯,沒想到半個月后匆赃,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡今缚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年算柳,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片姓言。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡瞬项,死狀恐怖,靈堂內的尸體忽然破棺而出何荚,到底是詐尸還是另有隱情囱淋,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布兽泣,位于F島的核電站绎橘,受9級特大地震影響,放射性物質發(fā)生泄漏唠倦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一涮较、第九天 我趴在偏房一處隱蔽的房頂上張望稠鼻。 院中可真熱鬧,春花似錦狂票、人聲如沸候齿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽慌盯。三九已至,卻和暖如春掂器,著一層夾襖步出監(jiān)牢的瞬間亚皂,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工国瓮, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留灭必,地道東北人狞谱。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像禁漓,于是被迫代替她去往敵國和親跟衅。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內容

  • 1播歼,介紹Vagrant 我們做web開發(fā)的時候經常要安裝各種本地測試環(huán)境伶跷,比如apache,php,mysql,r...
    meng_philip123閱讀 2,516評論 0 12
  • 開發(fā)需要在各種系統(tǒng)上進行開發(fā)任務,運維則需要在各種系統(tǒng)上學習工具使用秘狞。因此叭莫,虛擬機恐怕也是 IT 人員最常使用的工...
    李廣慧閱讀 5,541評論 3 24
  • Vagrant是什么 Vagrant是一個軟件,可以自動化虛擬機的安裝和配置流程谒撼。目前市面上個人PC的主流操作系統(tǒng)...
    北魏企鵝閱讀 29,978評論 3 40
  • [Vagrant入門一(轉)]閱讀目錄VirtualBox安裝Vagrant安裝Vagrant配置links 原文...
    漢相蕭何閱讀 923評論 0 0
  • —— 顧城 小巷又彎又長 沒有門沒有窗 我拿把舊鑰匙敲著厚厚的墻 這是我讀過的最無奈的詩食寡。 一直以來,有個地方你進...
    嵐風的葉子閱讀 208評論 0 0