vagrant(https://www.vagrantup.com/)是實作團隊一緻開發環境的利器,消耗的資源很小(比單獨跑一個虛拟機要小一點),可以快速打包,分發。
很多人喜歡下載下傳網上提供的一些box檔案來用,但是出于潔癖和自定義,我喜歡自己做box。有很多方式可以制作box,推薦使用Packer。
以下以制作一個centos7的box為例:
- 安裝VirtualBox,如果你喜歡vmware也是可以的,不過要收費哦。
- 下載下傳packer(https://www.packer.io),解壓到你指定的檔案夾。不用安裝的,直接用指令運作就可以了。
- 下載下傳ISO檔案,國内到163(http://mirrors.163.com/)下載下傳就好,建議下載下傳CentOS-7-x86_64-Minimal-1503-01.iso ,這是很小的包,centos做伺服器系統用最小的安裝包就好,沒有必要安裝一堆無用的東西,例如Firefox等。
- packer檔案夾建一個ISO檔案夾,把下載下傳的ISO檔案放到裡面。
-
編輯配置檔案,有一個很好的配置資源可以使用,https://github.com/boxcutter/centos.git,clone下來,然後自定義centos71.json:
找到這一段:
“vboxmanage”: [
[
“modifyvm”,
“{{.Name}}”,
“–memory”,
“2048” // 記憶體大小,預設是512,太小了,建議1024-2048
],
[
“modifyvm”,
“{{.Name}}”,
“–cpus”,
“2” //配置允許使用的CPU核數
]
]
配置ISO參數:
“iso_checksum”: “7c1e34e95c991175290d704dbdcc6531774cbecb”,
“iso_name”: “CentOS-7-x86_64-Minimal-1503-01.iso”,
“iso_path”: “iso”
- iso_checksum可以在163裡面的sha1sum.txt 找到
- 配置好之後執行 packer build **/centos71.json,packer會完成整個打包過程,并且在box檔案夾生成centos71-nocm-0.1.0.box
-
測試box檔案,
vagrant add boxName boxPath
vagrant init boxName
vagrant up
一切順利的話,vagrant box就搞好了,但是Minimal版本的centos需要配置不少東西,但是對一個linux老手而言,這些就是家常便飯了。