在官方的docker image中没有centos的image,所以我想自己做一个
参考资料:
https://wiki.centos.org/zh/Cloud/Docker
1. 拷贝ami-creator代码库
1 | git clone [https://github.com/katzj/ami-creator](https://github.com/katzj/ami-creator) |
2. 编译安装ami-creator
执行命令python setup.py build,发现提示以下错误
1 | #python setup.py build |
解决方法:1
2
3
4
5
6wget https://bootstrap.pypa.io/ez_setup.py
python ez_setup.py
cp ez_setup.py /usr/lib/python2.7/site-packages/
cd ami-creator/
python setup.py build
python setup.py install
此时运行ami-creator –help还是出现异常,提示1
ImportError: No module named imgcreate
应该是缺少imgcreate文件??1
yum install -y python-imgcreate
但是目前python-imgcreate不支持aarch64架构,所以需要添加patch,修改/usr/lib/python2.7/site-packages/imgcreate/live.py内容如下:
1 | elif arch.startswith('arm'): |
此时ami-creator已经可以使用了,如下图所示:
3. 克隆代码库sig-cloud-instance-build,并编译出image
git clone [https://github.com/CentOS/sig-cloud-instance-build
,克隆制作docker image的ks文件,这个ks文件相比正常的ks文件,精简了体积,只保持系统到70M左右,果然很牛B1
2
3ami-creater -c centos7-arm64.ks//如果顺利会生成centos7-arm64-xxxx.img
img2tar.sh centos7-arm64-xxxx.img//会在/tmp目录下生成一个tar.bz2的文件
docker import /tmp/centos7-arm64-xxxx.img.tar.bz2 jefby/centos-arm64
4. docker制作
1 | yum install -y libguestfs-tools |
继续 docker push jefby/centos-arm64
将工作保存下来