vagrant系列教程(一):vagrant的安裝與初識(轉)


原文:http://blog.csdn.net/hel12he/article/details/51069269

一個月沒有更新過了。三月份終於把設計模式看完了,自己也寫了一些設計模式的基礎代碼。也用到了幾個設計模式到自己的項目中。 
今天當然不是來說設計模式的,先說說這段時間學到的一個新東西。vagrant,其實之前在用laravel的時候,就知道了這么個東西,一直覺得xampp挺好呀,干嘛還要費神去搞這么個東西呢? 
最近研究了一下,一下子就被其美貌所迷惑,不能自拔,今天先講講vagrant的基本知識,后續陸續會更新基於vagrant搭建的php7環境(box我都已經制作好,上傳到百度雲了,就等分享)、Go環境、Hadoop等。

實際上Vagrant只是一個讓你可以方便設置你想要的虛擬機的便攜式工具,它底層支持VirtualBox、VMware甚至AWS作為虛擬機系統,本書中我們將使用VirtualBox來進行說明,所以第一步需要先安裝Vagrant和VirtualBox。

安裝環境:mac 
注:windows環境下,基本一致

安裝VirtualBox

直接來到官網 https://www.virtualbox.org/wiki/Downloads 點擊下載最新的virtualbox,雙擊安裝,一路傻瓜化完成。

安裝Vagrant

網上有說什么使用gem命令來安裝的,建議大家別進這個坑了,直接到官網 https://www.vagrantup.com/downloads.html 下載最新的vagrant,然后雙擊安裝,也是一路傻瓜化,就不說。 
在windows下安裝vagrant,為了寫入相應配置到環境變量,可能會要求重新啟動一下系統。

如何配置Vagrant


下載一個合適的box

進行完以上步驟后,就需要考慮我們的虛擬機需要使用什么操作系統了,我這里會以CentOs7.0為例。在以前使用vm的過程中,我們需要自己去下載鏡像,然后進行相關的安裝,設置系統等等操作。而vagrant的開源社區,提供了很多已經打包好的操作系統,在vagrant的世界里被稱為box。在http://www.vagrantbox.es/ 這里你可以找到你想要的操作系統box,當然你也可以自己制作一個。后續教程會講到,這里就不多說。

完成一個box的安裝

我的開發機是Mac,所以我建立了如下的開發環境目錄:

$ /Users/helei/vagrant
$ cd /Users/helei/vagrant

本來,vagrant提供的在線安裝,非常便利,但是無奈我國有非常NB的gfw,我為了速度,就先翻牆出去把box下載到本地,然后再進行安裝。

box鏈接:https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box

$ vagrant box add {title} {url}
$ vagrant init {title}
$ vagrant up

vagrant box add 是添加box的命令 

其中{title}可以自行設置,我這里使用的是 centos7 ,{url}是下載到本地box路徑。我的路徑是:/Users/helei/vagrant/centos-7.0-x86_64.box

下面把一些命令執行后的輸出進行展示,方便大家比對:

# 安裝box
$ vagrant box add CentOs7 /Users/helei/vagrant/centos-7.0-x86_64.box

輸出內容:

Downloading or copying the box...
Extracting box...te: 47.5M/s, Estimated time remaining: --:--:--)
Successfully added box 'base' with provider 'virtualbox'!

box中的鏡像文件被放到了:/Users/helei/.vagrant.d/boxes/,如果在window系統中應該是放到了: C:\Users\當前用戶名.vagrant.d\boxes\目錄下。

# 如果是才add 的box,就必須執行本步驟,初始化一次后,以后啟動系統,就不需要執行本步驟。
$ vagrant init CentOs7

輸出內容:

A `Vagrantfile` has been placed in this directory.
You are now ready to `vagrant up` your first virtual environment!
Please read the comments in the Vagrantfile as well as documentation on `vagrantup.com` for more information on using Vagrant.

這樣就會在當前目錄生成一個 Vagrantfile的文件,里面有很多配置信息,后面我在慢慢說,默認不做任何配置改動,也是可以啟動系統的。

# 啟動系統
$ vagrant up

輸出內容:

Bringing machine 'default' up with 'virtualbox' provider...
[default] Importing base box 'base'...
[default] Matching MAC address for NAT networking...
[default] Setting the name of the VM...
[default] Clearing any previously set forwarded ports...
...

 

ssh鏈接到安裝的虛擬機

經過以上操作后,完成了虛擬機的安裝,現在需要登錄上虛擬機,進行操作。鏈接很簡單,可以使用第三方(xshell等)shell工具或系統自帶的,進行登錄 
在系統中,如mac,可直接使用 vagrant ssh 來完成鏈接。或者使用第三方如xshell,ip地址是:localhost,端口,需要觀察,映射的22端口是多少。一般是2200 或者2222 
用戶名與密碼均是: vagrant

vagrant的命令詳解


命令 作用
vagrant box add 添加box的操作
vagrant init 初始化box的操作,會生成vagrant的配置文件Vagrantfile
vagrant up 啟動本地環境
vagrant ssh 通過 ssh 登錄本地環境所在虛擬機
vagrant halt 關閉本地環境
vagrant suspend 暫停本地環境
vagrant resume 恢復本地環境
vagrant reload 修改了 Vagrantfile 后,使之生效(相當於先 halt,再 up)
vagrant destroy 徹底移除本地環境
vagrant box list 顯示當前已經添加的box列表
vagrant box remove 刪除相應的box
vagrant package 打包命令,可以把當前的運行的虛擬機環境進行打包
vagrant plugin 用於安裝卸載插件
vagrant status 獲取當前虛擬機的狀態
vagrant global-status 顯示當前用戶Vagrant的所有環境狀態

下一篇,主要講vagrant的配置,已經如果通過配置文件,實現多台虛擬機的啟動,可以用這種方式搭建hadoop的環境額。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM