用 Packer 自动化构建基础镜像
-
目录介绍
- builds:用于存放 Packer 打包后的 Box 文件
centos:用于构建Centos镜像所需的 Packer 配置文件以及脚本文件- _common:用于存放一些公共文件
-
修改点东西
- 将
centos/http/sshkey里的id_rsa_vagrant.pub替换为你自己的sshkey文件 - 修改
centos/variables-centos7.9.json里的ssh_username、ssh_password以及ssh_pubkey - 修改
centos/http/7/ks.cfg里的rootpw --iscrypted后面的值为加密后的 root 密码,可通过openssl passwd -1 "vagrant"得到加密后的密码 - 修改
centos/http/7/ks.cfg里的user --groups=vagrant --name=vagrant --password=$1$CLP8Fsi9$G2YnFrW34CLu16058XzPv0 --iscrypted --gecos="vagrant"里的用户名和密码,通过openssl passwd -1 "vagrant"得到加密后的密码 - 替换
centos/http/7/ks.cfg里的所有 vagrant 用户名为你自己定义的用户名,默认用户名为 vagrant ,密码为 vagrant - 修改
centos/scripts/base.sh---设置 vagrant 账号无密码且拥有 sudo 权限里的 vagrant 为你的用户名 - 替换
centos/scripts/cleanall.sh里的 vagrant 为你的用户名 - 替换
centos/scripts/vboxguest.sh里的 vagrant 为你的用户名
- 将
-
操作步骤(需要安装 Packer、
KVM/Virtualbox/VMware)- 先进入到
Centos目录下 - 然后执行
packer build -var-file variables-centos7.9.json centos-qemu.json - 待打包完成后在 builds 目录下找到生成的 Box 文件,然后可用
vagrant box add xxxx.box添加使用 - 如果是打包 ubuntu,一定要设置 export TMPDIR=~/workfiles 添加到 ~/.bashrc,不然会导致构建失败
- 先进入到