Windows 下使用 Vagrant 構(gòu)建 Linux 開發(fā)環(huán)境

什么是vagrant堪遂?

Vagrant 是一個(gè)簡單易用的部署工具萌庆,用英文說應(yīng)該是 Orchestration Tool 溶褪。它能幫助開發(fā)人員迅速的構(gòu)建一個(gè)開發(fā)環(huán)境,幫助測試人員構(gòu)建測試環(huán)境, Vagrant 基于 Ruby 開發(fā)践险,使用開源 VirtualBox 作為虛擬化支持猿妈,可以輕松的跨平臺(tái)部署。

通俗的來說, 就是在本地部署一個(gè)和 Linux 虛擬機(jī)上的同步文件夾, 這樣所有的操作都方便了許多

準(zhǔn)備工作

?下載 VirtualBox 虛擬器 : https://www.virtualbox.org/

?下載安裝 Vagrant : http://www.vagrantup.com/

?下載使用的 box (這里的 box 指的是系統(tǒng)) : http://www.vagrantbox.es/

?在本地建立一個(gè)工作文件夾

部署環(huán)境

1.進(jìn)入工作文件夾中

qi010UncMt.png

2.把下載的 box 鏡像包放到工作目錄下-這里我以 Ubuntu.14.04 為例

2.png

3.打開終端進(jìn)入工作目錄, 或者你可以在當(dāng)前目錄按住 shift+鼠標(biāo)右鍵 可快速打開當(dāng)前目錄的終端

3.png

4.我們執(zhí)行 vagrant box list 可查看當(dāng)前添加進(jìn) vagrant 的鏡像

5.如果沒有添加 box 鏡像, 我們執(zhí)行 vagrant box add 系統(tǒng)名字 box鏡像

4.png

6.這時(shí)候我們執(zhí)行 vagrant box list 就可以查看我們添加的 box 鏡像

5.png

7.box 鏡像添加到 vagrant 里面后我們就可以執(zhí)行 vagrant init 系統(tǒng)名 初始化, 初始成功后我們可以看見當(dāng)前工作目錄下會(huì)生成一個(gè) Vagrantfile 的配置文件

6.png

8.*因?yàn)槲覀兲摂M機(jī)默認(rèn)只分配一個(gè)訪問外網(wǎng)的 IP, 項(xiàng)目使用的 IP 得手動(dòng)設(shè)置打開 Vagrantfile 找到29行(我的配置文件在29行)設(shè)置一個(gè)私有 IP *

7.png

9.到這里所有配置工作都完成了, 我們可以 vagrant up 正式啟動(dòng)了, 啟動(dòng)成功后會(huì)在當(dāng)前目錄生成一個(gè) .vagrant 的隱藏文件夾

8.png

10.在工作目錄中, 使用了 vagrant up 命令, 我們虛擬機(jī)會(huì)自動(dòng)的幫我們配置一個(gè)系統(tǒng), 然后自動(dòng)后臺(tái)啟動(dòng), 以后都無須管理虛擬機(jī) 讓虛擬機(jī)在后臺(tái)玩兒去吧

9.png

11.我們可以在當(dāng)前目錄使用 vagrant ssh 直接連接到虛擬機(jī)里面, 也可以使用第三方工具進(jìn)行連接如 Putty, Xshell, IP 為我們剛剛在 Vagrantfile 配置文件中設(shè)置的私有 IP

10.png

12.虛擬機(jī)里面的 /vagrant 這個(gè)文件夾是和我們本地同步的文件夾

11.png

13.下面我們就來看看vagrant神奇的地方, 我們在 /vagrant 同步文件夾里面創(chuàng)建一個(gè)文件 a, 看看我們本地發(fā)生了什么....., 同樣我們在本地把這個(gè) a 文件刪除, 看看虛擬機(jī)里面發(fā)生了什么...

12.png

14.這樣我們以后從服務(wù)器拉取下來的項(xiàng)目, 就可以直接在同步文件夾操作, 操作本地文件, 就相當(dāng)于操作虛擬機(jī), 目前已經(jīng)有很多大型公司使用 vagrant, 因?yàn)檫@可以提升他們的開發(fā)效率

15.最后附上vagrant一些常用的命令, 希望這能幫助你們, 別忘記點(diǎn)贊喲!

    $ vagrant box add NAME URL #添加一個(gè)box
    $ vagrant box list #查看本地已添加的box
    $ vagrant box remove NAME virtualbox #刪除本地已添加的box巍虫,如若是版本1.0.x彭则,執(zhí)行$ vagrant box remove NAME
    $ vagrant init NAME #初始化,實(shí)質(zhì)應(yīng)是創(chuàng)建Vagrantfile文件
    $ vagrant up #啟動(dòng)虛擬機(jī)
    $ vagrant halt #關(guān)閉虛擬機(jī)
    $ vagrant destroy #銷毀虛擬機(jī)
    $ vagrant reload #重啟虛擬機(jī)
    $ vagrant package #當(dāng)前正在運(yùn)行的VirtualBox虛擬環(huán)境打包成一個(gè)可重復(fù)使用的box
    $ vagrant ssh #進(jìn)入虛擬環(huán)境   $ vagrant port #查看ip和端口

原文參考

補(bǔ)充:
在實(shí)際運(yùn)用中,發(fā)現(xiàn)會(huì)過段時(shí)間出現(xiàn)一個(gè)錯(cuò)誤:

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...

解決方法:
在Vagrantfile配置文件中添加了兩行代碼,使用明文用戶名密碼

config.ssh.username = "vagrant"
config.ssh.password = "vagrant"
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市莽龟,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌迟赃,老刑警劉巖纤壁,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件迄靠,死亡現(xiàn)場離奇詭異雨席,居然都是意外死亡陡厘,警方通過查閱死者的電腦和手機(jī)是目,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門宜岛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來身弊,“玉大人阱佛,你說我怎么就攤上這事』囱罚” “怎么了郎任?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵车猬,是天一觀的道長韩脏。 經(jīng)常有香客問我赡矢,道長八酒,這世上最難降的妖魔是什么界轩? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任热鞍,我火速辦了婚禮,結(jié)果婚禮上椒涯,老公的妹妹穿的比我還像新娘铡溪。我一直安慰自己,他們只是感情好哈扮,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布靶庙。 她就那樣靜靜地躺著六荒,像睡著了一般秩铆。 火紅的嫁衣襯著肌膚如雪捅膘。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天鲤遥,我揣著相機(jī)與錄音,去河邊找鬼究孕。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播滓走,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼梗逮,長吁一口氣:“原來是場噩夢啊……” “哼怖喻!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起前标,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎焰望,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡墨缘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了玩裙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡庐冯,死狀恐怖犯祠,靈堂內(nèi)的尸體忽然破棺而出衡载,到底是詐尸還是另有隱情,我是刑警寧澤菩收,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布遍坟,位于F島的核電站迁匠,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏寂呛。R本人自食惡果不足惜怎诫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望涌哲。 院中可真熱鬧狗唉,春花似錦哆料、人聲如沸壮啊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽份企。三九已至,卻和暖如春巡莹,著一層夾襖步出監(jiān)牢的瞬間司志,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來泰國打工降宅, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留骂远,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓腰根,卻偏偏與公主長得像激才,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子额嘿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354