目录

制作麒麟v10的docker镜像

制作麒麟v10的docker镜像

制作麒麟v10的docker镜像

1.准备好麒麟V10的ios镜像(可以从银河麒麟官网下载)

https://i-blog.csdnimg.cn/blog_migrate/70b66f7e1a8939e151b71f3b0ab96269.png

2.用VM把麒麟v10安装到虚拟机

https://i-blog.csdnimg.cn/blog_migrate/2c1b109c1a2495d3dc966b85ed9a9b42.png

3.点击运行虚拟机(第一次打开请在虚拟机中安装麒麟v10系统,运行虚拟机后会有界面提示)

4.构建镜像文件

//#创建独立文件夹用来打包镜像文件(在/目录下创建,保证后续的/dev文件可以拷到/kylin-docker-fs/dev)
1.mkdir /kylin-docker-fs && cd /kylin-docker-fs
//#创建基础目录,dev 必须要创建,不然会提示找不到/dev/null
2.mkdir usr dev
3.cp -a /usr/lib /usr/lib64 /usr/bin /usr/share /usr/sbin usr/
//#创建链接
4.	ln -s usr/lib lib
	ln -s usr/lib64 lib64
	ln -s usr/bin bin
	ln -s usr/sbin sbin
//#配置文件(我把文件都打包了,不然会遇到无法apt install和无法安装等情况)
5.cp -a /etc /root /var /tem /boot /cdrom /media /mnt /opt ./
//#把/dev里面的文件全部拷到/kylin-docker-fs/dev
6.cp -a /dev/*  /kylin-docker-fs/dev                                       		    */
//#裁剪部分脚本,不然会提示/proc 没有mount 
7.rm -rf etc/profile.d/flatpak.sh etc/profile.d/gawk.csh etc/profile.d/gawk.sh etc/profile.d/lang.csh etc/profile.d/lang.sh etc/profile.d/system-info.sh
//#测试镜像(最好测试一下apt install安装命令,保证可以安装再进行下一步,如失败,请重复保证第5步复制文件的完整性,把能复制的都复制了)
8.chroot .
//#打包到一个单独文件夹
9.cd ..
10.mkdir /home/kylin-docker
11.tar -C kylin-docker-fs/ -z -c . -f /home/kylin-docker/kylin-v10-docker.tar.gz
12.cd /home/kylin-docker
//#使用apt install nano安装nano
13.sudo nano Dockerfile
	//#写入以下内容
	FROM scratch
	ADD kylin-v10-docker.tar.gz /
	LABEL \
	    org.label-schema.schema-version="1.0" \
	    org.label-schema.name="Kylin Base Image" \
	    org.label-schema.vendor="Kylin" \
	    org.label-schema.license="GPLv2" \
	    org.label-schema.build-date="20230920" \
	    org.opencontainers.image.title="Kylin Base Image" \
	    org.opencontainers.image.vendor="Kylin" \
	    org.opencontainers.image.licenses="GPL-2.0-only" \
	    org.opencontainers.image.created="2022-09-20"

    CMD ["/bin/bash"]

//写完后依次按以下操作:
//ctrl+o,Enter,ctrl+x 保存并退出
//-----------------------------
//构建镜像
14.docker build . -t kylin-v10-docker:v1.0 //(kylin-v10-docker 是想构建的名字,v1.0 为标签)
//构建完成后,docker images 可以查看构建出来的镜像

5.将本地镜像推送到指定 docker 服务器

//假设我的镜像仓库地址是 192.168.1.100 ,端口是 8080, 账号 test ,密码 123456, 要推送本地 kylin-v10-docker:v1.0 镜像
1.docker tag SOURCE_IMAGE[:TAG] [ip 地址]:[端口]/IMAGE[:TAG] //打 tag
:docker tag kylin-v10-docker:v1.0 192.168.1.100:8080/kylin-v10-docker:v1.0
//登录目标服务器
2.docker login -u [用户名] -p [密码] [服务器 IP 地址]:[端口]
例:docker login -u test -p 123456 192.168.1.100:8080
//推送镜像
3.docker push [IP 地址]:[端口号]/IMAGE[:TAG]
例:docker push 192.168.1.100:8080/kylin-v10-docker:v1.0

至此,制作麒麟 v10 的 docker 镜像和推送到远端结束,欢迎指正!谢谢

参考: