背景
由于项目使用麒麟操作系统,需要在麒麟桌面操作系统和服务器操作系统里编译代码,如果每次都在物理机和虚拟机里编译太不方便,也无法使用常用的 jenkins + k8s
组成的 CI/CD 编译环境,如果基于整个ISO太大了,现基于ISO 构建出一个小点的基础镜像。
1 . 服务器版本制作步骤:
1.1 准备好一个麒麟服务器版本的iso, Kylin-Server-V10-GFB-Release-ARM64.iso
1.2 将其挂载到某个目录下:
c
mount -o loop /path/xxx.iso /mnt/iso
1.3 修改 yum
源 为本地源, 关闭外网yum源,修改/etc/yum.repo.d/ kylin_aarch64.repo
,将其它的 enabled
项值都改为 0:
添加:
c
[ks10-adv-cdrom]
name = Kylin Linux Advanced Server 10 - cdrom
baseurl = file:///mnt/iso
gpgcheck = 0
enabled = 1
1.4 查看所有仓库状态
c
yum repolist all
1.5 新建一个目录
cd /
mkdir /ky10-docker-server
1.6 制作最小系统
这里只安装一个tree包,如果有需要,可以按需要安装需要的包
yum -y --installroot=/ky10-docker-server install tree
1.7 查看 /ky10-docker-server
1.8 将根目录打包
cd /ky10-docker-server/
tar -cvpf /root/ky10-server.tar --directory=/ky10-docker-server/ --exclude=proc --exclude=sys --exclude=dev --exclude=run --exclude=boot .
ky10-server.tar
就是docker
基础镜像了
1.9 将tar
包导入docker
这步需要确保docker
服务启动, systemctl status docker
查看
docker import /root/ky10-server.tar ky10-server:latest
docker images
这个镜像只有200多M
1.10. 用docker
镜像启动容器
docker run -it ky10-server:latest /bin/bash
1.11 推送镜像到私有仓库
docker push --tls-verify=0 image_id docker://url/image_name 提交镜像到远程地址
2. 桌面版制作镜像
桌面版只需要准备一个桌面ISO,
第六步换成:apt-get --root=/path/to/root install <PACKAGE>
即可