vagrant安裝

一、Vagrant是什么跑杭?

vagrant是一個(gè)操作虛擬機(jī)的工具.是一個(gè)基于Ruby的工具辙芍,用于創(chuàng)建和部署虛擬化開(kāi)發(fā)環(huán)境啡彬。    通過(guò)命令和配置文件來(lái)管理虛擬機(jī),很快就能完成一套開(kāi)發(fā)環(huán)境的部署,并可以打包傳播,統(tǒng)一了開(kāi)發(fā)環(huán)境,也解決了重復(fù)配置環(huán)境的麻煩.

二羹与、Vargant的好處

  1. Vagrant會(huì)創(chuàng)建共享文件夾,用來(lái)在主機(jī)和虛擬機(jī)之間進(jìn)行資源共享庶灿;

  2. Vagrant通過(guò)添加box鏡像進(jìn)行快速部署纵搁,部署完畢后可以通過(guò)package進(jìn)行打包分發(fā),避免二次重建環(huán)境往踢;

  3. Vagrant可以使用puppet腾誉、chref等管理工具進(jìn)行自動(dòng)化配置部署;

  4. Vagrant支持單機(jī)模擬多臺(tái)機(jī)器峻呕,且支持一個(gè)配置文件Vagrantfile就可以跑分布式系統(tǒng)利职。

三、準(zhǔn)備工作

win7下建議安裝版本

1.vagrant_1.8.6.msi
2.VirtualBox-5.1.24-117012-Win.exe

win10下建議安裝版本

1.vagrant_1.8.7.msi/vagrant_1.9.7_x86_64.msi

2.VirtualBox-5.1.24-117012-Win.exe

我這里是Win10系統(tǒng)瘦癌,剛開(kāi)始不清楚猪贪,裝的是最新的VirtualBox-5.2.8-121009-Win.exe+Vagrant 2.1.1啟動(dòng)就報(bào)錯(cuò),后來(lái)上網(wǎng)一搜說(shuō)是版本不兼容造成的讯私。我這里有兩臺(tái)電腦都是win10的有臺(tái)電腦上死活裝不上热押,有臺(tái)電腦卻能裝上。斤寇。跟win10系統(tǒng)版本也有關(guān)系?我這系統(tǒng)版本是:

四桶癣、進(jìn)行安裝

1.安裝VirtualBox

VirtualBox安裝就不多說(shuō)了,一直下一步下一步就行了娘锁。

2.安裝Vagrant

Vargrant下載win版的牙寞,然后一直下一步下一步就行了。

3.下載package.box

去vagrant官網(wǎng)下載一個(gè)package.box 文件致盟,box文件就是一個(gè)系統(tǒng)的鏡像文件 :http://www.vagrantbox.es/

4.把虛擬機(jī)加載到box容器中

下載好之后碎税,在該目錄下執(zhí)行命令加載鏡像文件到Vagrant中去:

vagrant box add centos7 xxxx.box
centos7是給虛擬機(jī)起的名字 ,隨意寫尤慰。然后可以通過(guò)以下命令查看馏锡,當(dāng)前vagrant下有那些可用
C:\Users\fendo>vagrant box list
centos7 (virtualbox, 0)
5.初始化虛擬機(jī)

在你想要?jiǎng)?chuàng)建虛擬機(jī)的目錄下,執(zhí)行以下命令進(jìn)行初始化

vagrant init centos7

會(huì)生成一個(gè)Vagrantfile文件,該文件就是Vagrant的配置文件伟端。

6.啟動(dòng)虛擬機(jī)

在該目錄下輸入:

vagrant up
啟動(dòng)報(bào)錯(cuò):

E:\OS_WORK\Node1>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'centos7'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: Node1_default_1525964151077_64147
"rsync" could not be found on your PATH. Make sure that rsync
is properly installed on your system and available on the PATH.
修改:

C:\Users{your_username}.vagrant.d\boxes\centos7\0\virtualbox\Vagrantfile
原配置:

Vagrant.configure("2") do |config|
config.vm.base_mac = "525400cae48b"
config.vm.synced_folder ".", "/vagrant", type: "rsync"
end
改為:

Vagrant.configure("2") do |config|
config.vm.base_mac = "525400cae48b"
config.vm.synced_folder ".", "/vagrant", type: "virtualbox"
end
然后啟動(dòng)杯道,報(bào)如下錯(cuò)誤:

E:\OS_WORK\Node1>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> 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:
default: Vagrant insecure key detected. Vagrant will automatically replace
default: this with a newly generated keypair for better security.
default:
default: Inserting generated public key within guest...
default: Removing insecure key from the guest if it's present...
default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
default: No guest additions were detected on the base box for this VM! Guest
default: additions are required for forwarded ports, shared folders, host only
default: networking, and more. If SSH fails on this machine, please install
default: the guest additions and repackage the box to continue.
default:
default: This is not an error message; everything may continue to work properly,
default: in which case you may ignore this message.
==> default: Mounting shared folders...
default: /vagrant => E:/OS_WORK/Node1
Vagrant was unable to mount VirtualBox shared folders. This is usually
because the filesystem "vboxsf" is not available. This filesystem is
made available via the VirtualBox Guest Additions and kernel module.
Please verify that these guest additions are properly installed in the
guest. This is not a bug in Vagrant and is usually caused by a faulty
Vagrant box. For context, the command attempted was:

mount -t vboxsf -o uid=1000,gid=1000 vagrant /vagrant

The error output from the command was:

mount: unknown filesystem type 'vboxsf'
中文意思就是:

vagrant 無(wú)法裝載VirtualBox的共享文件夾,因?yàn)槲募到y(tǒng)"vboxsf"無(wú)法使用.
這個(gè)文件系統(tǒng)通過(guò)VirtualBox客戶添加內(nèi)核模塊獲得,請(qǐng)確認(rèn)是否被正確安裝.
這不是vagrant的問(wèn)題,而是VirtualBox引起的問(wèn)題.
請(qǐng)嘗試執(zhí)行,以下命令:
mount -t vboxsf -o uid=1001,gid=1001 work_ /work
命令輸出的錯(cuò)誤信息為:
sbin/mount.vboxsf:掛載失敗:找不到這個(gè)文件或目錄
網(wǎng)上說(shuō)的是,是Vagrant沒(méi)有安裝VBoxGuestAdditions责蝠,下面來(lái)手工安裝VitrualBox的這個(gè)增強(qiáng)功能:

●使用命令

E:\OS_WORK\Node1>vagrant halt
==> default: Attempting graceful shutdown of VM...
停止已在運(yùn)行的虛擬機(jī)

●啟動(dòng)VirtualBox中的虛擬機(jī)

直接在VirtualBox中啟動(dòng)虛擬機(jī)党巾,如下所示進(jìn)行登錄:

輸入默認(rèn)用戶名 : vagrant , 登錄密碼 : vagrant

●掛載并安裝VBoxGuestAdditions

掛載辦法如下所示:設(shè)備->安裝增強(qiáng)功能

提示以下錯(cuò)誤

手動(dòng)安裝下,在VirtualBox安裝目錄下找到VBoxGuestAdditions.iso

加載進(jìn)來(lái)霜医,之后重啟下,使用以下命令安裝VBoxGuestAdditions

sudo mount /dev/cdrom /media/cdrom
cd /media/cdrom/
sudo ./VBoxLinuxAddtions.run
發(fā)現(xiàn)還是不行齿拂,然后又執(zhí)行以下命令更新了下系統(tǒng)

sudo yum update
sudo yum install gcc
sudo yum install kernel-devel

exit #退出虛擬機(jī)
vagrant halt # 關(guān)閉虛擬機(jī)
后面還是不行。然后使用vagrant命令進(jìn)行安裝

E:\OS_WORK\Node1>vagrant plugin install vagrant-vbguest
Installing the 'vagrant-vbguest' plugin. This can take a few minutes...
Installed the plugin 'vagrant-vbguest (0.15.1)'!
之后重啟

E:\OS_WORK\Node1>vagrant reload --provision
==> 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: 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: Machine booted and ready!
[default] No installation found.
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile

  • base: mirrors.shu.edu.cn
  • extras: mirrors.shu.edu.cn
  • updates: mirrors.shu.edu.cn
    Package kernel-devel-3.10.0-862.2.3.el7.x86_64 already installed and latest version
    Package gcc-4.8.5-28.el7.x86_64 already installed and latest version
    Package binutils-2.27-27.base.el7.x86_64 already installed and latest version
    Package 1:make-3.82-23.el7.x86_64 already installed and latest version
    Package 4:perl-5.16.3-292.el7.x86_64 already installed and latest version
    Package bzip2-1.0.6-13.el7.x86_64 already installed and latest version
    Nothing to do
    Copy iso file C:\Program Files\Oracle\VirtualBox/VBoxGuestAdditions.iso into the box /tmp/VBoxGuestAdditions.iso
    Mounting Virtualbox Guest Additions ISO to: /mnt
    mount: /dev/loop0 is write-protected, mounting read-only
    Installing Virtualbox Guest Additions 5.1.24 - guest version is unknown
    Verifying archive integrity... All good.
    Uncompressing VirtualBox 5.1.24 Guest Additions for Linux...........
    VirtualBox Guest Additions installer
    Copying additional installer modules ...
    Installing additional modules ...
    vboxadd.sh: Starting the VirtualBox Guest Additions.

Could not find the X.Org or XFree86 Window System, skipping.
Redirecting to /bin/systemctl start vboxadd.service
Redirecting to /bin/systemctl start vboxadd-service.service
Unmounting Virtualbox Guest Additions ISO from: /mnt

==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
default: /vagrant => E:/OS_WORK/Node1
然后啟動(dòng):

E:\OS_WORK\Node1>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Machine already provisioned. Run vagrant provision or use the --provision
==> default: flag to force provisioning. Provisioners marked to run always will still run.
五肴敛、Vagrant連接

1.虛擬機(jī)相關(guān)登錄信息

E:\OS_WORK\Node1>vagrant ssh
ssh executable not found in any directories in the %PATH% variable. Is an
SSH client installed? Try installing Cygwin, MinGW or Git, all of which
contain an SSH client. Or use your favorite SSH client with the following
authentication information shown below:

Host: 127.0.0.1
Port: 2222
Username: vagrant
Private key: E:/OS_WORK/Node1/.vagrant/machines/default/virtualbox/private_key
這樣我們就可以像連接到一臺(tái)服務(wù)器一樣進(jìn)行操作了署海。

2.ssh登錄
window機(jī)器不支持這樣的命令吗购,必須使用第三方客戶端來(lái)進(jìn)行連接,例如xmoba砸狞、putty捻勉、Xshell等.

ssh: 127.0.0.1
端口: 2222
用戶名: vagrant
密碼: vagrant
這里使用Xshell來(lái)登錄

找到剛剛上面生成的秘鑰:

E:/OS_WORK/Node1/.vagrant/machines/default/virtualbox/private_key

然后點(diǎn)擊確定,進(jìn)行連接

注意事項(xiàng):

注意關(guān)機(jī)之前都要關(guān)閉下虛擬機(jī)刀森。如果不關(guān)閉的話 明天早上起來(lái)就發(fā)現(xiàn)啟動(dòng)不了

在.Vagrantfile文件中設(shè)置:
設(shè)置用戶名以及密碼:
config.ssh.username = "vagrant"
config.ssh.password = "vagrant"
設(shè)置虛擬網(wǎng)絡(luò)
config.vm.network "private_network", ip: "192.168.33.10"

六踱启、Vagrant常用命令

  1. 添加box

提前下載好的box文件,~/box/centos.box研底,我們給這個(gè)box命名為centos vagrant box add centos ~/box/centos.box#box文件也可以是遠(yuǎn)程地址 base 為默認(rèn)名稱#vagrant box add base http://files.vagrantup.com/lucid64.box

  1. 初始化

打開(kāi)目錄#cd ~/vagrant/work#初始化vagrant init#如果你添加的box名稱不是base埠偿,那么需要在初始化的時(shí)候指定名稱,例如vagrant init centos

  1. 啟動(dòng)虛擬機(jī)
    vagrant up
  2. 打包分發(fā)

vagrant package

  1. 幫助命令

vagrant help

  1. 查看vagrant版本信息
    vagrant -v
    Vagrant命令詳解
命令            作用
vagrant box add 添加box的操作
vagrant init    初始化box的操作榜晦,會(huì)生成vagrant的配置文件Vagrantfile
vagrant up  啟動(dòng)本地環(huán)境
vagrant ssh 通過(guò) ssh 登錄本地環(huán)境所在虛擬機(jī)
vagrant halt    關(guān)閉本地環(huán)境
vagrant suspend 暫停本地環(huán)境
vagrant resume  恢復(fù)本地環(huán)境
vagrant reload  修改了 Vagrantfile 后胚想,使之生效(相當(dāng)于先 halt,再 up)
vagrant destroy 徹底移除本地環(huán)境
vagrant box list    顯示當(dāng)前已經(jīng)添加的box列表
vagrant box remove  刪除相應(yīng)的box
vagrant package 打包命令芽隆,可以把當(dāng)前的運(yùn)行的虛擬機(jī)環(huán)境進(jìn)行打包
vagrant plugin  用于安裝卸載插件
vagrant status  獲取當(dāng)前虛擬機(jī)的狀態(tài)
vagrant global-status   顯示當(dāng)前用戶Vagrant的所有環(huán)境狀態(tài)
vagrant init          初始化
vagrant up            啟動(dòng)虛擬機(jī)
vagrant halt          關(guān)閉虛擬機(jī)
vagrant reload        重啟虛擬機(jī)
vagrant ssh   {name}  SSH 至虛擬機(jī)
vagrant status        查看虛擬機(jī)運(yùn)行狀態(tài)
vagrant destroy  {name}     刪除當(dāng)前虛擬機(jī)

vagrant suspend           掛起當(dāng)前虛擬機(jī)
vagrant resume            恢復(fù)被掛起的vm
vagrant box list          列出所有box列表

vagrant box remove {base name}    刪除

vagrant destroy           停止當(dāng)前正在運(yùn)行的虛擬機(jī)并銷毀所有創(chuàng)建的資源
vagrant package           把當(dāng)前的運(yùn)行的虛擬機(jī)環(huán)境進(jìn)行打包浊服,可用于分發(fā)開(kāi)發(fā)環(huán)境
vagrant plugin            安裝卸載插件
vagrant provision         設(shè)置基本的環(huán)境,進(jìn)一步設(shè)置可以使用Chef/Puppet進(jìn)行搭建
vagrant ssh-config        輸出ssh連接的一些信息
vagrant status            獲取虛擬機(jī)狀態(tài)
vagrant version           獲取vagrant的版本


原文:https://blog.csdn.net/u011781521/article/details/80275212

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末胚吁,一起剝皮案震驚了整個(gè)濱河市牙躺,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌腕扶,老刑警劉巖孽拷,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異半抱,居然都是意外死亡脓恕,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門窿侈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)炼幔,“玉大人,你說(shuō)我怎么就攤上這事史简∧诵悖” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵圆兵,是天一觀的道長(zhǎng)跺讯。 經(jīng)常有香客問(wèn)我,道長(zhǎng)殉农,這世上最難降的妖魔是什么刀脏? 我笑而不...
    開(kāi)封第一講書人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮超凳,結(jié)果婚禮上愈污,老公的妹妹穿的比我還像新娘危队。我一直安慰自己,他們只是感情好钙畔,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布茫陆。 她就那樣靜靜地躺著,像睡著了一般擎析。 火紅的嫁衣襯著肌膚如雪簿盅。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,578評(píng)論 1 305
  • 那天揍魂,我揣著相機(jī)與錄音桨醋,去河邊找鬼。 笑死现斋,一個(gè)胖子當(dāng)著我的面吹牛喜最,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播庄蹋,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼瞬内,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了限书?” 一聲冷哼從身側(cè)響起虫蝶,我...
    開(kāi)封第一講書人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎倦西,沒(méi)想到半個(gè)月后能真,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扰柠,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年粉铐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卤档。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蝙泼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出裆装,到底是詐尸還是另有隱情踱承,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布哨免,位于F島的核電站,受9級(jí)特大地震影響昙沦,放射性物質(zhì)發(fā)生泄漏琢唾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一盾饮、第九天 我趴在偏房一處隱蔽的房頂上張望采桃。 院中可真熱鬧懒熙,春花似錦、人聲如沸普办。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)衔蹲。三九已至肢娘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間舆驶,已是汗流浹背橱健。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留沙廉,地道東北人拘荡。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像撬陵,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子巨税,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1溢吻,介紹Vagrant 我們做web開(kāi)發(fā)的時(shí)候經(jīng)常要安裝各種本地測(cè)試環(huán)境促王,比如apache,php,mysql,r...
    meng_philip123閱讀 2,518評(píng)論 0 12
  • 下載并安裝程序 下載并安裝virtualboxhttps://www.virtualbox.org/wiki/Do...
    u14e閱讀 18,589評(píng)論 0 4
  • Vagrant安裝 官方下載打包好的安裝包進(jìn)行安裝https://www.vagrantup.com/downlo...
    誰(shuí)叫白馬入夢(mèng)船閱讀 262評(píng)論 0 1
  • 參考:https://segmentfault.com/a/1190000014350154?utm_source...
    段義緯閱讀 1,666評(píng)論 0 0
  • 對(duì)兵團(tuán)之外的人而言倡怎,很長(zhǎng)時(shí)間里监署,兵團(tuán)都是一個(gè)神秘的地方∑茱酰可是對(duì)于我們這些出生在兵團(tuán)晓避、成長(zhǎng)在兵團(tuán)的第三代來(lái)說(shuō)只壳,兵...
    水水的萱萱閱讀 288評(píng)論 2 2