vagrant 學習
一、安裝vagrant和vitualbox
二、基礎
2、選擇終端工具:
使用終端工具進行安裝,windows環境建議使用gitBash
,也就是git的工具,因為可以直接當作SSH
工具使用,比較方便,當然也可以使用命令提示符
+ SecureCRT
。
3、新增Box
方式一:直接在終端工具新增。
方式二:首先下載Box,然後通過終端工具新增。可通過方式一獲取下載地址
命令如下:
// vagrant box add showBoxName nameORurl // box名稱或地址
vagrant box add centos-6.5 centos6-5. box
注:chef/centos-6.5為在Box下載地址獲取的名稱
4、選擇vitualbox還是VMware
5、安裝完成後,檢視狀態
vagrant box status
6、切換到所需要的專案目錄,進行初始化
vagrant init chef/centos-6.5
注意:
- 預設的地址:127.0.0.1:2222
- 埠:2222
- SSH地址:127.0.0.1:2222
- 使用者名稱:vagrant 密碼:vagrant
- 共享目錄:/vagrant => 專案目錄
7、使用SSH方式連線
- 直接使用終端工具
vagrant ssh
- 使用SSH工具,正常連線
三、vagrant 常用命令:
- 啟動:vagrant up
- 停止:vagrant halt
- 暫停:vagrant suspend
- 暫停後恢復:vagrant resume
- 狀態:vagrant status
- 重啟:vagrant reload
- 銷燬:vagrant destroy
四、共享目錄
1、當前目錄中找到Vagrantfile
檔案,並用文字工具開啟
2、找到config.vm.synced_folder "../data", "/vagrant_data"
並取消註釋。
3、修改config.vm.synced_folder "../data", "/vagrant_data"
=>
config.vm.synced_folder "../data", "/vagrant_data",
create:true,owner:"root",group:"root"
註釋:
- create:資料夾不存在,則建立
- owner:許可權
- group:群組
4、重啟vagrant
檢視shared folder資訊,表示為共享資料夾
五、網路設定
(1)、設定私有網路(hostonly主機模式)
1、開啟Vagrantfile
檔案
2、查詢config.vm.network "private_network",
並取消註釋。
注意:檢視網路連線
後,發現新建了VirtualBox Host-Only Network #2
,如果需要修改IP地址,兩邊都需要做對應的修改。
3、重啟vagrant
4、通過SSH連線vagrant,檢視IP地址
(2)、設定共有網路
1、開啟Vagrantfile
檔案
2、查詢config.vm.network "public_network"
,並取消註釋。
注意:需要註釋config.vm.network "private_network"
。
3、重啟vagrant,選擇網路模式
4、使用vagrant ssh
命令,登入vagrant,檢視IP地址
六、配置hpptd主機
1、安裝httpd,安裝完成後,通過 which httpd
命令檢視
sudo yum install httpd
2、安裝vim
sudo yum install vim
3、配置httpd主機
檢視主機是否正確安裝:
which httpd
修改httpd配置檔案
sudo vim /etc/httpd/conf/httpd.conf
修改後展示如下:
啟動httpd伺服器
sudo service httpd status //檢視httpd服務狀態
sudo service httpd start // 啟動httpd服務
4、把當前配置打包成Box
- 刪除快取
sudo rm -rf /etc/udev/rules.d/70-persistent-net.rules
退出SSH切換到vagrant目錄,執行打包命令
vagrant package
執行結果如下:
(七)多主機
切換到新的專案目錄,初始化vagrant
1、修改Vagrantfile
,自定義主機,使用vagrant up
啟動虛擬機器
2、配置私有網路
3、配置主機名
4、設定共享檔案
配置檔案如下:
config.vm.box = "httpd"
#1、自定義主機
config.vm.define "development" do |development|
#2、配置網路,可以是私有網路,也可以是共有網路
development.vm.network "private_network", ip: "192.168.33.11"
#3、配置主機名
development.vm.hostname="testDev"
#4、設定共享檔案
development.vm.synced_folder "development", "/vagrant"
end
#1、自定義主機
config.vm.define "production" do |production|
#2、配置網路,可以是私有網路,也可以是共有網路
production.vm.network "private_network", ip: "192.168.33.22"
#3、配置主機名
production.vm.hostname="testProd"
#4、設定共享檔案
production.vm.synced_folder "production", "/vagrant"
end