Linux上的Vagrant使用入門
譯文【51CTO.com快譯】近些年來,包括Linux在內(nèi)的現(xiàn)代操作系統(tǒng)得到了發(fā)展,將操作系統(tǒng)虛擬化引入到普通的PC。使用虛擬機(jī)監(jiān)控程序運(yùn)行多個操作系統(tǒng)讓開發(fā)人員、系統(tǒng)管理員和喜歡搗鼓的人可以創(chuàng)建小型可分配的虛擬環(huán)境來測試和學(xué)習(xí)。
隨著虛擬化變得越來越流行,越來越多可簡化工作的軟件應(yīng)運(yùn)而生。Vagrant正是這類軟件之一。今天,我們將介紹在Linux上開始使用Vagrant:Vagrant是什么?如何在基本系統(tǒng)上安裝Vagrant?以及它有哪些用途?
Vagrant是什么?
Vagrant是一種工具,可與Virtual Box和VMware等虛擬化軟件配合使用,以提供一種簡易的方法來創(chuàng)建、配置和復(fù)制狀態(tài)已知的虛擬機(jī)。它便于將預(yù)配置的虛擬機(jī)或設(shè)備從Vagrant Cloud提取,初始化后在系統(tǒng)上運(yùn)行。它使任何人拉取鏡像、運(yùn)行幾個簡單命令并擁有可以搗鼓的虛擬服務(wù)器變得非常簡單。
安裝Vagrant
您可以從“下載”頁面下載Vagrant的zip文件。解壓縮后即可找到應(yīng)用程序鏡像。使它可執(zhí)行并運(yùn)行。
或者,您可以通過發(fā)行版的代碼存儲庫來安裝它:
- Ubuntu/Debian/Ubuntu-based distros:
- sudo apt install vagrant
Fedora上:
- sudo dnf install vagrant
圖1
Vagrant可以與Hyper-V、VMWare、Parallels、VirtualBox和libvirt兼容。在本教程中,我將使用libvirt(如何配置libvirt詳見此處https://www.maketecheasier.com/create-linux-virtualization-workstation/),因?yàn)樗荓inux內(nèi)核中內(nèi)置的虛擬機(jī)管理程序。
想安裝Vagrant libvirt提供程序,請使用以下命令之一:
- sudo apt install vagrant-libvirt
或者
- vagrant plugin install vagrant-libvirt
圖2
開啟您的第一個Vagrant設(shè)備
想啟動并運(yùn)行Vagrant,您要添加一個設(shè)備,為虛擬機(jī)創(chuàng)建目錄,然后運(yùn)行兩個Vagrant命令:一個用于初始化系統(tǒng),另一個用于啟動虛擬機(jī)。
首先,為系統(tǒng)添加一個設(shè)備:
- vagrant box add centos/7 --provider=libvirt
確保添加作為flag的提供程序??梢栽诖颂巋ttps://app.vagrantup.com/boxes/search找到更多的設(shè)備。
下一步,創(chuàng)建一個目錄并進(jìn)入到該目錄:
- mkdir vagrant-test
- cd vagrant-test
現(xiàn)在,初始化Vagrant:
- vagrant init<em> </em>centos/7
作為初始化階段的一部分,Vagrant將在當(dāng)前工作目錄中創(chuàng)建一個名為“Vagrantfile”的文件(比如vagrant-test1)。您可以創(chuàng)建任意數(shù)量的目錄并初始化Vagrant。每個目錄和Vagrantfile代表一個虛擬機(jī)。這些不同的虛擬機(jī)可以基于同一設(shè)備(比如precise32)或不同設(shè)備。
要啟動虛擬機(jī),請運(yùn)行:
- vagrant up
啟動后,虛擬機(jī)以無外設(shè)模式(沒有監(jiān)視器或虛擬屏幕)運(yùn)行,您只能通過SSH連接到該虛擬機(jī)??梢詮哪W(wǎng)絡(luò)上的任何其他計算機(jī)通過普通的SSH客戶端來執(zhí)行該操作,也可以使用內(nèi)置的ssh命令。如果您想使用另一個SSH客戶端,請注意:正確的IP地址是主機(jī)(運(yùn)行Vagrant和提供程序的PC)的IP地址,但在不同的端口上。啟動過程中,Vagrant將顯示如何轉(zhuǎn)發(fā)端口22(用于SSH)??赡軙D(zhuǎn)發(fā)到端口2222。
想使用內(nèi)置的ssh命令,請輸入:
- vagrant ssh
現(xiàn)在您已連接到虛擬機(jī)。想退出SSH連接,請輸入“exit”或按Ctrl +D組合鍵。
停止您的第一個vagrant設(shè)備
想停止運(yùn)行中的虛擬機(jī),請使用:
- vagrant ssh
想刪除虛擬機(jī),請使用:
- vagrant destroy
銷毀該虛擬機(jī)后,基本操作系統(tǒng)(來自.box文件)仍存儲在Vagrant的內(nèi)部,需要時可啟動其他虛擬機(jī),無需Vagrant重新下載.box文件。
僅用兩個命令(vagrant init和vagrant up),Vagrant讓您可以啟動一個功能齊全、可通過SSH訪問的Linux虛擬機(jī)。高級配置可通過Vagrantfile來進(jìn)行??梢栽赩agrant說明文檔(http://docs.vagrantup.com/v2/)中找到更多詳細(xì)信息。
原文標(biāo)題:Getting Started with Vagrant on Linux,作者:John Perkins
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】