1. 程式人生 > 實用技巧 >VirtualBox+Vagrant環境搭建

VirtualBox+Vagrant環境搭建

我們剛開始入門的時候使用的整合的wamp來開發我們的PHP程式,在window下,雖然說可以搭建各種開發環境,但是有時候和Linux的生產環境還是不太一樣,最佳的還是linux平臺。於是我們虛擬機器,我們使用開源的VirtualBox作為虛擬化支援,另外對於團隊來說,每個人的開發環境要保持一致,利用Vagrant來解決開發環境保持一致,配置大大簡化,輕鬆跨平臺。

VirtualBox虛擬機器

VirtualBox 是一款開源虛擬機器軟體。VirtualBox 是由德國 Innotek 公司開發,由Sun Microsystems公司出品的軟體。在 Sun 被 Oracle 收購後正式更名成 Oracle VM VirtualBox。

在VirtualBox網站下載主機作業系統對應的二進位制檔案。VirtualBox可以安裝在32位和64位作業系統上。在32位主機作業系統上執行64位的虛擬機器是可以的,但必須在主機的BIOS中啟用硬體虛擬化特性。

官網下載https://www.virtualbox.org/wiki/Downloads

window下安裝VirtualBox6.0.8

如果想下載往期的版本https://www.virtualbox.org/wiki/Download_Old_Builds

雙擊exe檔案執行二進位制安裝檔案將開啟一個簡單的安裝嚮導,允許使用者定製VirtualBox特性,選擇任意快捷方式並指定安裝

安裝Vagrant

Vagrant是一個基於Ruby的工具,用於建立和部署虛擬化開發環境,由HashiCorp公司開發的工具。它使用Oracle的開源VirtualBox虛擬化系統,使用 Chef建立自動化虛擬環境。Vagrant 有著易於使用的工作流,並且專注於自動化,降低了開發者搭建環境的時間,提高了生產力。解決了“在我的機器上可以工作”的問題。

官網下載https://www.vagrantup.com/downloads.ht

雙擊msi檔案,我本次下載的是vagrant_2.2.4_x86_64的版本。選擇安裝位置,進行下一步安裝。安裝完畢後需要重啟系統。

之後就可以開啟終端cmd使用vagrant

下載Box

Vagrant官網下載一個package.box 檔案,它有點類似於我們之前安裝虛擬機器時候需要下載ISO映象來裝系統,這裡的話就是Vagrant開源社群已經提供許多打包好的作業系統,我們稱之為Box,你可以直接下載,也可以自己製作。省去我們自己下載映象,配置安裝系統初始化的過程。

官網下載https://app.vagrantup.com/boxes/search 或者在倉庫下載http://www.vagrantbox.es/

我這裡下載一個Centos7的版本

https://cloud.centos.org/centos/7/vagrant/x86_64/images/CentOS-7-x86_64-Vagrant-1902_01.VirtualBox.box

新增box

Box其實是一個壓縮包,裡面包含了 Vagrant 的配置資訊和 VirtualBox 的虛擬機器映象檔案。vagrant up 啟動虛擬機器是基於 box 檔案的,因此在啟動虛擬機器前必須得把 box 檔案準備好。

建立一個工作目錄,新增box,把下載好的box檔案放在目錄下面。

vagrant box add Centos7 CentOS-7-x86_64-Vagrant-1902_01.VirtualBox.box
[新增box命令]
vagrant box add 起一個名字  使用box的檔案位置

初始化box

[檢視有哪些box]
vagrant box list 
[初始化box]
vagrant init Centos7

啟動虛擬機器

[啟動虛擬機器box]
vagrant up

連線虛擬機器

[連線box虛擬機器]
vagrant ssh

預設root使用者密碼是vagrant

修改配置檔案

Vagrantfile檔案

這個檔案是非常重要,包括虛擬機器配置,ssh配置,Vagrant的一些基礎配置。Vagrant是用Ruby開發的,所以它配置檔案的語法也是Ruby。配置檔案只要有改動就需要執行 vagrant reload 載入配置。重新啟動虛擬機器,重新載入配置檔案。

打包虛擬機器

[關閉虛擬機器]
vagrant halt
[打包box]
vagrant package --output Centos7.box

使用 package 選項將虛擬機器打包.