1. 程式人生 > >MacOS安裝Virtual Box和Vagrant

MacOS安裝Virtual Box和Vagrant

本文在MacBook Air下搭建,中間遇到一些問題,參考了一些其他文章梳理自己的搭建過程。

一、下載安裝VirtualBox

二、下載安裝Vagrant

三、下載系統映象

本文使用的系統映象是CentOS 7.0 x64:

四、搭建

  • 新增系統映象到 Vagrant假設我們下載的映象存放路徑是 ~/Downloads/centos-7.0-x86_64.box,在終端裡輸入: 
    vagrant box add centos7 ~/Downloads/centos-7.0-x86_64.box 
    centos7是我給這個box取的名字,你完全可以根據你的習慣來命名。
  • 初始化環境 
    建立一個開發目錄(比如:~/vagrant),你也可以使用已有的目錄,切換到開發目錄裡,用 centos7 映象初始化當前目錄的環境: 
    cd ~/vagrant
     
    vagrant init centos7 
    初始化完成之後,當前目錄生成Vagrantfile,這是vagrant的配置檔案,可以修改這個配置檔案對作業系統進行個性化的定製,比如網路連線方式,共享的目錄等。檔案中的配置項都有詳細的註釋。
  • 配置vagrant資訊 
    config.vm.network "private_network", ip: "192.168.33.10" 
    設定虛擬機器系統的私有網路地址,vagrant的三種網路連線方式差異請自行谷歌搜尋(本文暫沒用)。
    config.vm.synced_folder ".", "/workspace" 
    設定共享檔案,把本檔案所在資料夾路徑,即~/vagrant 對映成虛擬機器作業系統中的/workspace路徑。你完全可以根據你的習慣設定共享目錄。
  • 啟動vagrant 
    vagrant up 
    此步驟一定要在原目錄(本文是~/vagrant)下進行,上命令觸發vagrant根據Vagrantfile初始化作業系統
  • 通過SSH連線作業系統 
    vagrant ssh

補充:

新增box

新增box到本地倉庫有三種方式:

1 . 使用http遠端新增

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

2 . 使用本地box新增

vagrant box add my_first_box D:/centos-7.0-x86_64.box

3 . 使用中央倉庫新增

vagrant box add my_first_box hashicorp/precise64

本文演示的使用第二種本地新增box檔案的方式 

五、常用命令

  1. vagrant -v:檢視版本;
  2. vagrant status:檢視狀態;
  3. vagrant reload:重啟;
  4. vagrant suspend:將虛擬機器掛起,虛擬機器記憶體都儲存到硬碟上,下次可以快速恢復;
  5. vagrant halt:將虛擬機器關閉,虛擬機器記憶體釋放,下次啟動要慢一點;
  6. vagrant destroy:將虛擬機器刪除,所有變更都丟失,下次啟動要重新克隆一個 Vagrant box;
  7. vagrant package:當配置好開發環境後,可以打包環境,然後拿到任何地方都能用;

六、問題

本文的安裝版本分別為:Vagrant 2.1.1+VirtualBox 5.2.12+CentOS 7.0 x64,發現真實機和虛擬機器共享的資料夾資源總失敗,查閱了很多文章,找到了針對我的解決方案:

1.進入虛擬機器升級:

sudo yum update && sudo yum -y install kernel-headers kernel-devel

2.重啟vagrant:

vagrant reload

3.解決

參考:

https://blog.csdn.net/gsls181711/article/details/48133659

https://blog.csdn.net/u010183402/article/details/51930899

https://stackoverflow.com/questions/42074246/vagrant-error-unable-to-mount-virtualbox-shared-folders-guest-additions-vboxs

https://blog.csdn.net/column/details/vagrant-tutorial.html