上次,簡單分享了一下什么是vagrant...今天我們就來體驗一下如何使用Vagrant。
mkdir test
?cd test
vagrant init ubuntu/trusty64
vagrant up
vagrant ssh
如果是第一次執(zhí)行這個命令,需要等待其下載?trusty64.box?文件,時間視網(wǎng)絡(luò)情況而定。之后再執(zhí)行則不必等待下載了。

由于我是提前下載好了 trusty64.box 在這里只是導(dǎo)入就可以了??梢钥吹?,短暫的等待幾分鐘后,我們的服務(wù)器就準(zhǔn)備好了,不但已經(jīng)啟動,而且已經(jīng)登錄進(jìn)了服務(wù)器,我們可以開始做我們想做的事情了。
現(xiàn)在就讓我們看看,剛才vagrant為我們做了些什么。為了測試方便,我們建立了一個新的目錄~/test,其后的操作都在這個目錄中進(jìn)行。
而要使 Vagrant 開始工作,我們需要兩個前提條件:
虛擬機(jī)鏡像,也稱之為Box
配置文件Vagrantfile
在初始化的命令中,同時幫我們滿足了這兩個條件。
vagrant init ubuntu/trusty64
這里的參數(shù)ubuntu/trusty64是指定box的名字,它會自己尋找虛擬鏡像,這個位置可以是來自 HTTP,也可以是本地文件,剛才我所使用的就是本地的box。如果沒有找到本地,它就會從網(wǎng)上下載。
隨后,Vagrant 會在當(dāng)前目錄創(chuàng)建一個默認(rèn)的配置文件Vagrantfile,里面默認(rèn)會寫上要使用ubuntu/trusty64做為虛擬機(jī)的模板。至此,我們所需的虛擬機(jī)還沒有呢。
vagrant up
這是一個關(guān)鍵的命令。這個命令是告訴 Vagrant,請按照配置文件將所有的虛擬機(jī)啟動起來。當(dāng)然,我們現(xiàn)在就一個虛擬機(jī)。
Vagrant 會檢查當(dāng)前虛擬機(jī)是否已經(jīng)存在,如果不存在,那么就從指定box中克隆一個虛擬機(jī),然后,依據(jù)配置文件Vagrantfile中的配置進(jìn)行各種所需的配置,并且啟動該虛擬機(jī)。我們可以從上述日志中看到此次啟動過程中,根據(jù)默認(rèn)配置文件主要進(jìn)行了必須的網(wǎng)絡(luò)設(shè)置、主機(jī)名設(shè)置,以及共享目錄的綁定。
最后一條命令:
vagrant ssh
這個命令是通過ssh連接我們已經(jīng)啟動的虛擬機(jī)。我們可以通過上述輸出的主機(jī)名可以注意到,已經(jīng)從我本機(jī)原來的主機(jī)名,變到了trusty64也就是默認(rèn)的那個主機(jī)名。
在虛擬機(jī)中,可以執(zhí)行exit,以退出ssh連接回到物理機(jī)。當(dāng)然,這并不意味著虛擬機(jī)已關(guān)機(jī)。要關(guān)閉虛擬機(jī),我們除了在虛擬機(jī)中執(zhí)行sudo poweroff外,還可以在物理機(jī)執(zhí)行vagrant halt。
假如我們的虛擬機(jī)被我們搞壞了,重新來一個虛擬機(jī),非常簡單。
vagrant destroy
這樣虛擬機(jī)就被扔掉了,我們只需再次執(zhí)行vagrant up,新的虛擬機(jī)就會生成,不出一分鐘,我們又可以繼續(xù)工作了。
今天就先分享到這里。。