vargrant
一、安裝
參考:
https://blog.csdn.net/qianghaohao/article/details/80038096
https://segmentfault.com/a/1190000008729625
1、安裝VirtualBox
下載地址:https://www.virtualbox.org/wiki/Downloads
提示:雖然 Vagrant 也支持 VMware,不過 VMware 是收費的,對應的 Vagrant 版本也是收費的
2、安裝Vagrant
Vagrant支持Max OS、Windows、CentOS以及基於Debian的發行版本Ubuntu
下載地址:https://www.vagrantup.com/downloads.html
3、下載Box
官方box: https://atlas.hashicorp.com/boxes/search暫時只看到搜索名稱,沒法下載
第三方box: http://www.vagrantbox.es/提供了各發行版/provider的下載鏈接
我用的https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box
二、啓動步驟
1、添加Box鏡像
- vagrant box add <本地 box 名稱> <box 文件>
- 查看Box列表:vagrant box list
- 刪除Box:vagrant box remove {box-name}
2、創建一個Vagrant環境
初始化命令格式:vagrant init <本地 box 名稱>
執行init命令後,會在當前文件夾創建一個Vagrant配置文件Vagrantfile
。
3、啓動Vagrant
命令:vagrant up
注:執行up命令前需先cd到Vagrant目錄
執行up命令後,終端會輸出一系列啓動信息,第一次啓動會花費幾分鐘時間。
4、連接Vagrant
命令:vagrant ssh
注:Vagrant實例的用戶名密碼默認都爲“vagrant
”,也可以直接用類似xshell工具連接
執行ssh命令就相當於使用vagrant身份登錄實例,你可以對操作系統進行操作,比如安裝LNMP環境。
5、配置Vagrant
配置IP:爲了在Host機上通過瀏覽器訪問Vagrant虛擬機,需要給虛擬機配置一個IP地址。使用文本編輯器修改Vagrant的Vagrantfile
,如下(把註釋打開就可以):
config.vm.network :private_network, ip: "192.168.33.10"
重啓虛擬機生效配置文件(命令 vagrant reload
)後就可以在瀏覽器通過192.168.33.10
就可以訪問
設置共享文件夾:config.vm.synced_folder
config.vm.synced_folder
"your_folder"(必須) //物理機目錄,可以是絕對地址或相對地址,相對地址是指相對與vagrant配置文件所在目錄
,"vm_folder(必須)" // 掛載到虛擬機上的目錄地址
,create(boolean)--可選 //默認爲false,若配置爲true,掛載到虛擬機上的目錄若不存在則自動創建
,disabled(boolean):--可選 //默認爲false,若爲true,則禁用該項掛載
,owner(string):'www'--可選 //虛擬機系統下文件所有者(確保系統下有該用戶,否則會報錯),默認爲vagrant
,group(string):'www'--可選 //虛擬機系統下文件所有組( (確保系統下有該用戶組,否則會報錯),默認爲vagrant
,mount_options(array):["dmode=775","fmode=664"]--可選 dmode配置目錄權限,fmode配置文件權限 //默認權限777
,type(string):--可選 //指定文件共享方式,例如:'nfs',vagrant默認根據系統環境選擇最佳的文件共享方式
我的配置:
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.synced_folder "D:/awww/vg_code", "/awww/vg_code", create:true,:owner => "vagrant"
Vagrant 常用命令清單
- vagrant box add 添加box
- vagrant init 初始化 box
- vagrant up 啓動虛擬機
- vagrant ssh 登錄虛擬機
- vagrant box list 列出 Vagrant 當前 box 列表
- vagrant box remove 刪除相應的 box
- vagrant destroy 停止當前正在運行的虛擬機並銷燬所有創建的資源
- vagrant halt 關機
- vagrant package 把當前的運行的虛擬機環境進行打包爲 box 文件
- vagrant plugin 安裝卸載插件
- vagrant reload 重新啓動虛擬機,重新載入配置文件
- vagrant resume 恢復被掛起的狀態
- vagrant status 獲取當前虛擬機的狀態
- vagrant suspend 掛起當前的虛擬機
- vagrant global-status 查看當前 vagrant 管理的所有 vm 信息
三、Vagrant 導出自己的box
在vagrant的虛擬機下面進行了一些操作之後想把它導出作爲備份,爲的是以後在別的機器上安裝完vagrant以後可以立即導入自己熟悉的box進行開發。步驟如下:
1、關閉vagrant
2、進入到VirtualBox的安裝目錄下,輸入
vboxmanage list vms
命令,可以看出我們的vagrant下的虛擬機列表(我的虛擬機只有一個box,"vg_default_1547632585636_72798"。)
3、導出命令
vagrant package --base vg_default_1547632585636_72798 --output ./CentOS7.box
vagrant package是導出box的打包命令
–base 代表本地
vg_default_1547632585636_72798是你要導出的box的名稱
–output代表導出
./CentOS7.box 表示導出後的box名爲CentOS7.box,並保存在當前目錄下
4、導出成功後的提示
整個過程大概幾分鐘,這也取決於你的box的大小,我的box大約1.5G
nginx lvs
keepalive
mycat
consul
rpc