轉 vagrant package[打包命令]詳解
vagrant package --outout test.box
vagrant的一個非常重要的功能就是在你的同事之間分享你的box從而使大家的開發環境保持同步,打包[package]正是實現這一功能的關鍵所在。
(寫到這里我想到vagrant是否提供一種通過配置中心主機實現對其他虛擬主機進行軟件更新的作用,這樣就不用重新打包了,或者這是puppt的業務所在?)
vagrant package的命令很簡單,不過有些地方官方文檔並沒有說清楚,我在這里補充一下
vagrant package -hUsage: vagrant package [options] [name]Options:
--base NAME virtualbox程序里面的虛擬機的名稱,不是box的名字也不是Vagrantfile里面的虛擬機名稱.默認是打包當前目錄下面的虛擬機。
--output NAME 要打包成的box名稱,不會自動添加.box后綴,要手動加.默認值package.box --include FILE... 打包時包含的文件名,你可以把.box文件理解為一個壓縮包
--vagrantfile FILE 打包時包含的Vagrantfile文件,原理和上面類似
-h, --help Print this help
演示:vagrant package –base virtualbox_vm_name –output newbox_name.box
1.把這個newbox_name.box文件拷貝到你到小伙伴到機器上;
2.在機器上執行vagrant box add newbox_names newbox_name.box就可以把這個box添加到這台機器的box列表里面;
3.在需要搭建開發環境的目錄下面執行vagrant init newbox_names,這樣就初始化了一個虛擬機環境,然后執行vagrant up,你的小伙伴就可以得到一個和你完全一樣的開發環境了。
在初始化環境的時候需要注意的一點是:這個目錄下面如果以前初始化過,那么請執行vagrant destroy命令把這個環境銷毀掉,並刪除Vagrantfile文件,或者在windows環境下直接手動刪除.vagrant目錄和Vagrantfile文件有相同的效果。否則vagrant init命令無效,當你vagant up的時候得到的是一個和以前完全一樣的環境。