1. 新增box
vagrant box add [自定義box名字] [映象檔案]
例子:
vagrant box add ubuntu/14.04 trusty-server-cloudimg-amd64-vagrant-disk1.box
建立通過源建立ubuntu映象
檢視box
vagrant box list
2. 初始化, 啟動 連線虛擬機器
v初始化
vagrant init base [box]
例子: 通過ubuntu/16.04初始化乙個虛擬機器
vagrant init ubuntu/16.04
建立虛擬機器
vagrant up
3. 啟動, 停止, 重啟, 銷毀
檢視虛擬機器執行的狀態:
vagrant status
停止虛擬機器:
vagrant halt
暫停虛擬機器
vagrant suspend
恢復虛擬機器
vagrant resume
重啟虛擬機器
vagrant reload
銷毀虛擬機器
vagrant destroy
4. 共享目錄
預設的共享目錄: 主機當前目錄和虛擬機器的/vagrant預設共享
/users/narcisohuang/workspace/vagrant-workspace/centos/ => /vagrant
5. 自定義共享資料夾(暫時跳過)
看15通過外掛程式實現的nfs格式的共享資料夾.
網路配置:
私有網路, 虛擬機器不能和主機的其他的應用進行網路的通訊
公有網路, 虛擬機器擁有乙個公網ip, 可以和主機的其他的應用通訊
7. 私有網路
通過以下的命令, 設定虛擬的網路為私有網路, 主機上的其他的應用不能訪問到虛擬機器
config.vm.network "private_network", ip: "127.0.0.1"
8. 公有網路
通過以下配置來實現虛擬機器配置乙個公有的ip位址, 主機內的其他的應用可以通過公網ip位址訪問到虛擬機器
config.vm.network "public_network"
由於我是用的是無線網絡卡, 需要在多個網絡卡中選擇乙個網路, 我選擇1號網絡卡, 也就是連線無線網的網絡卡
9. 搭建web伺服器
10. 重新打包
建立出乙個box檔案
vagrant package
通過這個box檔案可以建立乙個虛擬機器檔案, 再通過虛擬機器檔案建立出乙個虛擬機器例項
11. 多主機
建立兩個主機分別命名為dev和pro
沒有設定網路, 兩台虛擬機器之間是不能通訊的
config.vm.define "dev" do |dev|end
config.vm.define
"pro
" do |pro|end
12. 多主機網路設定
設定私有網路, 注意私有網路是不能和對外通訊的網絡卡在同乙個網路段內
當前我的網路在
192.168.1.103
那麼, 建立的私有的虛擬機器所處的網路就不能在192.168.1.0/24這個段內
vagrant.configure("2") do |config|
end建立兩個在192.168.2.0/24網段的兩個主機, 如果之前已經建立兩個主機了, 就需要重新啟動虛擬機器 vagrant reload
13. 多主機多機名
通過dev和pro變數設定hostname, 從而設定虛擬機器的主機名
vagrant.configure("2") do |config|config.vm.box = "
centos7
"config.vm.define
"dev
" do |dev|dev.vm.network
"private_network
", ip: "
192.168.2.11
"dev.vm.hostname = "hzh-dev"end
config.vm.define
"pro
" do |pro|pro.vm.network
"private_network
", ip: "
192.168.2.12
"pro.vm.hostname = "hzh-pro"end
end
主機名外掛程式: vagrant-hostmanager
使用國內的源進行安裝外掛程式
使用外掛程式
vagrant hostmanager
dev虛擬機器的主機名為hzh-dev
pro虛擬機器的主機名為hzh-pro
可以直接通過主機名連線到另乙個虛擬機器的網路
hostmanager外掛程式將虛擬機器的主機名和網路連線在一起了, 並且將各個虛擬機器的主機名和ip位址都寫到了各自的配置檔案/etc/hosts中
14. guest additions:vagrant-vbguest, 使用外掛程式來修復原來的共享資料夾的錯誤
為虛擬機器安裝 guest additions, 從而就可以使用預設的共享資料夾的功能了
為dev虛擬機器安裝增強組建
vagrant vbguest --do install dev
centos 安裝的過程中網路問題失敗了, 算了, 有更好的方法, 使用nfs外掛程式可以不用安裝增強組建就可以實現共享檔案, 所以算了, 不弄這個了
15. nfs共享目錄, 效能更好的共享目錄
黑體的部分實現了nfs共享資料夾
#-*- mode: ruby -*-
vagrant.configure("2
") do |config|config.vm.box = "
centos7"#
啟用vagrantmanage 外掛程式
config.hostmanager.enabled =true
config.hostmanager.manage_guest =true
config.hostmanager.manage_host =true #
設定vbguest不自動更新
config.vbguest.auto_update =false
config.vm.define
"dev
" do |dev|dev.vm.network
"private_network
", ip: "
192.168.2.11
"dev.vm.hostname = "
hzh-dev
"#
配置nfs繫結共享檔案
dev.vm.synced_folder "
", "
", type: "
nfs"
dev.bindfs.bind_folder
"", "",
force_user:
"root
", force_group: "
root
", o: "
nonempty
"end
config.vm.define
"pro
" do |pro|pro.vm.network
"private_network
", ip: "
192.168.2.12
"pro.vm.hostname = "
hzh-pro
"end
end
安裝外掛程式
vagrant plugin install vagrant-bindfs --plugin-clean-sources --plugin-source
vagrant up
會自動安裝bindfs, 需要訪問wai 網 加 速 下 載 , 而且要5到10分鐘
建立vagrant 映象 vagrant基本使用
簡介 vagrant是用於構建和管理虛擬機器環境的工具。官方 以mac系統為例 開啟命令列終端iterm2.輸入以下命令 mkdir p vms centos7 1 cd vms centos7 1 vagrant init centos 7 vagrant up vagrant ssh 以上幾步就...
工具系列 部落格簽名
頁面 div href target blank tinywan a p div div p 出處 a href target blank a p div div p 本文版權歸作者和共有。歡迎 但必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。p div div d...
Django 系列部落格(九)
本篇部落格介紹 django 模板的匯入與繼承以及匯入匯入靜態檔案的幾種方式。語法 如下 圖書管理系統 django 模板引擎中最強大的也是最複雜的除了 orm 就是模板繼承了。模板繼承可以讓您建立乙個基本的 骨架 模板,它包含您站點的全部元素,並且可以定義可以被子模板覆蓋的 blocks。通過下面...