使用Packer制作vagrant box

vagrant(https://www.vagrantup.com/)是实现团队一致开发环境的利器,消耗的资源很小(比单独跑一个虚拟机要小一点),可以快速打包,分发。 
很多人喜欢下载网上提供的一些box文件来用,但是出于洁癖和自定义,我喜欢自己做box。有很多方式可以制作box,推荐使用Packer。 
以下以制作一个centos7的box为例:

  1. 安装VirtualBox,如果你喜欢vmware也是可以的,不过要收费哦。
  2. 下载packer(https://www.packer.io),解压到你指定的文件夹。不用安装的,直接用命令运行就可以了。
  3. 下载ISO文件,国内到163(http://mirrors.163.com/)下载就好,建议下载CentOS-7-x86_64-Minimal-1503-01.iso ,这是很小的包,centos做服务器系统用最小的安装包就好,没有必要安装一堆无用的东西,例如Firefox等。
  4. packer文件夹建一个ISO文件夹,把下载的ISO文件放到里面。
  5. 编辑配置文件,有一个很好的配置资源可以使用,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 找到
  6. 配置好之后执行 packer build **/centos71.json,packer会完成整个打包过程,并且在box文件夹生成centos71-nocm-0.1.0.box

  7. 测试box文件, 
    vagrant add boxName boxPath 
    vagrant init boxName 
    vagrant up 
    一切顺利的话,vagrant box就搞好了,但是Minimal版本的centos需要配置不少东西,但是对一个linux老手而言,这些就是家常便饭了。

猜你喜欢

转载自blog.csdn.net/dahuzix/article/details/80087511
Box