vagrant介紹及安裝配置
阿新 • • 發佈:2019-01-10
介紹:
Vagrant是一個基於Ruby的工具,用於建立和部署虛擬化開發環境。它 使用Oracle的開源VirtualBox虛擬化系統,使用 Chef建立自動化虛擬環境。
- 一次配置打包,統一開發環境,統一發給開發團隊
- 避免重複搭建開發環境,新人入職,快速開發
- 特定版本和環境,使用不同的box隔離。
- 安裝和解除安裝快捷
安裝:
3. - 配置Vagrant環境變數
wins系統:
在系統變數PATH後新增
;E:\Program Files\Oracle\VirtualBox;E:\HashiCorp\Vagrant\bin
(上面的PATH根據自己的安裝軟體的路徑填寫,不要直接複製使用)
linux系統:
5.- 使用box模版,建立屬於自己的box
#新增box映象到環境:vagrant box add 為vagrant的命令dev為box環境名稱,可自定義;centos-6.5-x86_64-base.box為下載的box模版和第三方製作的box檔案,也可以是指定的網際網路資源線上安裝 vagrant box add dev centos-6.5-x86_64-base.box #vagrant box add dev centos6.7_lnmp_20170601.box(如果懶的改名字,直接使用下載好的檔案就行了) #建立並進入box工作環境,自己找個次磁碟目錄建立一個工作資料夾就可以(例如進入D盤,建立一個box_workdir資料夾作為vagrant工作目錄) cd /e/box_workdir #windows系統進入d:/box_workdir工作目錄下面 #初始化:生成vagrantfile配置檔案 vagrant init dev #配置vagrantfile config.vm.box = "vagrant_module" #修改成本地環境的box名稱(如果vagrant box add dev 寫的是什麼這裡就寫什麼,例如dev 這裡就填dev) config.vm.network "forwarded_port", guest: 80, host: 80 #埠轉發模組 config.vm.network "forwarded_port", guest: 9000, host: 9000 config.vm.network "forwarded_port", guest: 3306 , host: 33060 config.vm.network "forwarded_port", guest: 6379, host: 63790 config.vm.network "forwarded_port", guest: 11211, host: 11212 #config.vm.network "forwarded_port", guest: 1194, host: 11940 config.ssh.password = "vagrant" # default: Warning: Authentication failure. Retrying...(vagrant登入的時候的密碼) #同步目錄,需要自己建立 share 本地路徑(可以隨便起名字) vagrant_data虛擬機器目錄不需要更改 config.vm.synced_folder "./share", "/vagrant_data", :mount_options => ["dmode=777","fmode=777"]#共享本地share路徑到虛擬機器/vagrant_data路徑 config.vm.provider "virtualbox" do |v| v.name = "my_vagrant" v.memory = "1024" v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] v.customize ["modifyvm", :id, "--natdnsproxy1", "on"] end #啟動虛擬機器 vagrant up #重新載入 vagrant reload #ssh連線到虛擬機器:非必需操作(這裡著重針對windows系統說明,如果使用普通的docs視窗執行會提示SSH沒有安裝 #這個時候需要使用你安裝的git工具,開啟git工具執行下面的命令就可以了) vagrant ssh #登入之後 執行su 會提示輸入密碼 就是配置檔案裡面的密碼config.ssh.password = "vagrant",配置的什麼就是什麼 #進入系統之後(cd /)然後(ll)就可以看到虛擬環境的所有目錄了,就像正常操作linux系統就可以了 #打包分發:非必需操作 vagrant package --output=yourboxname.box --base in_oracle_vm_name
進入虛擬機器後執行 df -h
可以看到 Vagrant 預設把宿主機 Vagrantfile
所在的目錄和虛擬機器的 /vagrant
目錄共享,可以通過 ls /vagrant/
檢視該目錄內容,內容和宿主機對應目錄一致。
6. -ssh登入
window機器不支援這樣的命令,必須使用第三方客戶端來進行連線,例如xmoba、putty、Xshell等.
ssh: 127.0.0.1
埠: 2222
使用者名稱: vagrant
密碼: vagrant
7.-Vagrant常用命令
- 幫助 vagrant -h #檢視vagrant 支援的所有命令 vagrant box -h #檢視vagrant 的子命令box的幫助 - 新增box vagrant box add centos/7 #線上安裝centos7的box環境 vagrant box add huoxing360/devbox-LNMP #線上安裝整合lnmp的box環境 vagrant box add dev /e/box_download/centos-6.5-x86_64-base.box #安裝本地box檔案 - 檢視box vagrant box list - 刪除box vagrant box remove dev #刪除指定的box環境 - 開機,關機等操作 vagrant up #開啟虛擬機器 vagrant halt #關閉虛擬機器 vagrant suspend #暫停虛擬機器 vagrant resume #恢復暫停的虛擬機器 vagrant reload #修改vagrantfile後,重啟虛擬化環境 - 快照 vagrant snapshot list #檢視當前儲存的快照 vagrant snapshot save shot1 #建立一個名為shot1的快照 vagrant snapshot restore shot1 #恢復快照 vagrant snapshot delete shot1 #刪除快照 vagrant snapshot push #建立快照,快照自動命名:push_隨機數 vagrant snapshot pop #恢復到最新的快照,並刪除快照 - ssh操作 vagrant ssh vagrant ssh-config 輸出用於 ssh 連線的一些資訊 - 打包操作 vagrant package --output yourbox.box --base in_oracle_vm_name.box -f - 銷燬操作 vagrant destory