使用Vagrant(一):搭建Vagrant執行環境
1. 關於Vagrant
Vagrant是一個虛擬機器管理工具。可以實現快速的虛擬機器映象分發和使用。可以說,Vagrant使得虛擬機器技術的使用門檻大大降低。讓所有人都可以快速的使用虛擬機器投入到具體的開發工作中去。(尤其對於那些需要在伺服器環境中進行開發的人來說)。
2. 安裝Vagrant
Vagrant的安裝非常簡單,從它的主頁上可以方便的下載得到在各種作業系統下的安裝程式。我使用的是Win7作業系統。因此直接下載對應作業系統的安裝程式即可。Vagrant的安裝符合win7下安裝應用的一般過程。這就不用多說了。
要使用Vagrant,當然需要虛擬化技術的支援。目前Windows作業系統已經支援的HyperV的虛擬化技術。對於Win7作業系統來說,預設並沒有提供該項功能。需要單獨從Microsoft的網站上安裝。在其他的虛擬化技術中,由於VirtualBox是開源的,並且在各類作業系統中均有執行環境,因此在Vagrant一開始支援的虛擬化技術中,VirtualBox是首先得到支援的。目前VMWare的虛擬化技術也已經得到了Vagrant的支援。為了方便學習,我選擇VirtualBox作為虛擬化解決方案。當然,關於Vagrant使用VirtualBox的各類教程,也是最多的。
VirtualBox的安裝,同樣,從主頁下載程式後執行安裝即可。
3. 配置Vagrant和VirtualBox
Vagrant和VirtualBox安裝完成後,預設存放虛擬機器映象檔案的位置在系統盤。這對於大多數系統盤容量有限的人來說,很快就會收到“磁碟容量不足”的告警。通過必要的設定將映象資料移出系統盤。
3.1. 更改VirtualBox的映象檔案存放位置
具體步驟如下:
- 開啟VirtualBox,從選單項選擇 全域性設定 (快捷鍵是 Ctrl-G )
- 選擇 常規 裡的 預設虛擬電腦位置(M)
- 設定為非系統盤的位置。
- 將原位置中的虛擬機器映象移動到新的位置。
- 如果在設定前已經安裝了虛擬機器,那麼在Windows 資源管理器中,選擇對應目錄中的 Vbox 檔案,即可將新目錄中的虛擬機器映象新增到VirtualBox中。
3.2. 更改Vagrant的映象儲存位置
Vagrant對於虛擬機器的管理分成兩個部分:Box和Machine。Box是指初始的未部署的虛擬機器映象檔案。這個檔案相當於是虛擬機器的一個模板,可以進行無限制次數的複製。Machine,是指處於可執行狀態下的虛擬機器。當在Vagrant中新增box是,預設Vagrant會將這些虛擬機器模板映象檔案存放在c:\User\<Username>\.Vagrant.d
裡。因此,當使用Vagrant管理的虛擬機器模板映象較多時,這個目錄也是比較大的。可以轉移到其他磁碟分割槽上。方法是:
- 將
c:\User\<username>\.vagrant.d
目錄移動到新的位置 - 設定
VAGRANT_HOME
環境變數指向新的位置即可。
4. 使用vagrant新增虛擬機器映象
4.1. 從網際網路新增虛擬機器映象檔案
在正式使用Vagrant前,建議先新增vagrant的映象檔案。使用如下指令新增虛擬機器模板映象檔案:
E:\vagrant_starter>vagrant box add ubuntu/trusty64
執行上面的指令後,系統會自動從網際網路下載相應的映象檔案。執行上述指令後,會得到如下的輸出:
E:\vagrant_starter>vagrant box add ubuntu/trusty64
==> box: Loading metadata for box 'ubuntu/trusty64'
box: URL: https://vagrantcloud.com/ubuntu/trusty64
==> box: Adding box 'ubuntu/trusty64' (v14.04) for provider: virtualbox
box: Downloading: https://atlas.hashicorp.com/ubuntu/boxes/trusty64/versions
/14.04/providers/virtualbox.box
box: Progress: 0% (Rate: 7168/s, Estimated time remaining: 21:27:41)
當 Progress 進展到100%時,相應的映象就新增到Vagrant中可供隨時克隆使用了。
TIP : 在VagrantCloud有大量已經制作好可供下載的基礎映象檔案。有興趣可以去看看,能減少自己做系統的時間。
4.2. 從本地新增映象檔案
從網際網路新增是最基本的方法。從本地已經下載好的檔案中新增映象檔案當然會更加的方便。要新增本地已下載好的映象檔案,執行如下指令即可:
E:\vagrant_starter>vagrant box add ubuntu/trusty64 file:///e:\download\trusty-server-cloudimg-amd64-vagrant-disk1.box
5. 初始化虛擬機器
開始使用虛擬機器,首先需要將虛擬機器模板映象匯入“工作環境”。如前所屬,已經新增了 ubuntu/trusty64 映象之後,可以之間使用如下指令完成相關虛擬機器的初始化。
E:\vagrant_starter>vagrant init ubuntu/trusty64
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.
如果以前沒有使用 vagrant box add
指令,直接使用init命令時,會先新增box,完成後再執行初始化操作。
6. 使用虛擬機器
6.1 啟動虛擬機器
啟動虛擬機器只需要一個指令,並且可以得到一下輸出:
E:\vagrant_starter>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'ubuntu/trusty64'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: git-server_default_1418350291527_32287
==> 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 => 2222 (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: Checking for guest additions in VM...
==> default: Mounting shared folders...
default: /vagrant => E:/vagrant_starter
6.2 登入虛擬機器
要登陸虛擬機器可以使用 Vagrant ssh
命令登入虛擬機器系統。登入後可以看到:
E:\vagrant_starter>vagrant ssh
Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-40-generic x86_64)
* Documentation: https://help.ubuntu.com/
System information as of Fri Dec 12 02:12:05 UTC 2014
System load: 0.36 Processes: 91
Usage of /: 2.8% of 39.34GB Users logged in: 0
Memory usage: 21% IP address for eth0: 10.0.2.15
Swap usage: 0%
Graph this data and manage this system at:
https://landscape.canonical.com/
Get cloud support with Ubuntu Advantage Cloud Guest:
http://www.ubuntu.com/business/services/cloud
0 packages can be updated.
0 updates are security updates.
vagrant@vagrant-ubuntu-trusty-64:~$
如果你得到了以上的輸出顯示,好的,你已經成功登入到你的 私有 伺服器上了。在你自己的伺服器上撒潑打滾吧,在這個伺服器上,你就是 上帝 。
7. 停止或刪除虛擬機器
要停止虛擬機器的執行,可以使用如下指令:
虛擬機器關機:
E:\vagrant_starter>vagrant halt
虛擬機器掛起:
E:\vagrant_starter>vagrant suspend
刪除虛擬機器:
E:\vagrant_starter>vagrant destory
危險:虛擬機器刪除後,所有在虛擬機器中做的改動都不再存在。如果重新使用,需要再次使用init命令初始化。此時得到的將是一個全新的虛擬機器。所以,注意安全。
8. 參考文件:
- Vagrant官方文件: https://docs.vagrantup.com/v2/
- 小硬碟傷不起-將Vagrant移出系統盤的方法: http://wing2south.com/post/44371306891/vagrant/
相關文章
- Vagrant 環境搭建
- Vagrant 搭建 CentOS 環境CentOS
- Vagrant 搭建開發環境實踐開發環境
- 虛擬機器環境搭建之vagrant虛擬機
- Vagrant homestead (laravel)開發環境搭建(填坑)Laravel開發環境
- vagrant + centos/7 搭建自己的本地開發環境CentOS開發環境
- 1.Vagrant搭建統一開發環境 常用命令開發環境
- 基於 vagrant搭建移動端的開發環境開發環境
- vagrant構建centos虛擬環境CentOS
- 使用 Vagrant 快速搭建 CentOS7CentOS
- Vagrant:更好的個人開發環境開發環境
- 用Vagrant構建統一的golang開發環境Golang開發環境
- 用 Vagrant 一鍵部署開發環境 kafka 叢集開發環境Kafka
- VirtualBox + Vagrant + homesteadbox 環境下 yaf 的安裝
- 基於 Vagrant 構建 PHP 開發環境PHP開發環境
- 2018-07-12 折騰一個開發環境Vagrant開發環境
- Kubernetes叢集搭建(vagrant)
- Vagrant 的基本使用
- Windows 10 下搭建 Homestead 環境 Vagrant up 所遇到的問題及解決Windows
- Vagrant
- 搭建一個本地 Laravel 執行環境Laravel
- VirtualBox與Vagrant的使用
- vagrant介紹及使用
- flutter 基礎系列(一)—— 環境搭建執行Flutter
- 搭建本地執行Hadoop環境Hadoop
- 搭建go環境並執行Go
- Scala--執行環境搭建
- Vagrant (一) - 基本知識
- Vagrant Documentation
- Mac使用dinghy和laradock搭建php執行環境MacPHP
- Vagrant 新增 root 使用者
- Vagrant 在 Windows 下的使用Windows
- 記一次 Vagrant 環境下更換 MySQL 資料目錄 datadir 的坑MySql
- Linux/Go環境搭建, HelloWorld執行LinuxGo
- Homestead Vagrant 使用中的一些記錄
- Vagrant簡介
- Vagrant Vs, DockerDocker
- Vagrant 總結
- Discover Vagrant Boxes