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老手而言,这些就是家常便饭了。