网上找了很久,也没有找到
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
关于麒麟桌面版v10的Docker基础镜像,目前我无法直接确认是否存在现成的镜像供您使用。然而,根据参考文章中的信息,我可以为您提供一些相关的指导和建议。
首先,银河麒麟V10是中国电子研发的操作系统,该系统具有多端融合的特性,可以适应5G时代的需求。但是,具体到麒麟桌面版v10的Docker基础镜像,可能并没有现成的资源可以直接获取。
如果您需要在麒麟桌面版v10上构建Docker环境,您可以考虑以下步骤:
1. 安装Docker:首先确保在麒麟桌面版v10上安装了Docker。根据参考文章2,如果服务器默认没有安装Docker,您可能需要手动安装。
2. 准备Dockerfile:Dockerfile是Docker镜像的构建脚本,它描述了如何从一个基础镜像开始,安装和配置所需的软件包和依赖项,以创建您自己的镜像。
3. 构建Docker镜像:使用Dockerfile和Docker引擎,您可以构建自定义的Docker镜像,该镜像将包含您在麒麟桌面版v10上所需的所有软件包和配置。
参考文章4中提供了一个基于银河麒麟V10构建Docker基础镜像的示例。虽然该示例是针对服务器版的,但它提供了关于如何从操作系统镜像开始,使用虚拟机安装系统,并构建Docker镜像的详细步骤。您可以根据这些步骤进行调整,以适应您的麒麟桌面版v10环境。
需要注意的是,构建Docker镜像可能需要对操作系统和Docker有一定的了解。此外,由于麒麟桌面版v10的特性和依赖项可能与服务器版有所不同,因此在构建过程中可能会遇到一些特定的挑战。
最后,由于我无法直接访问实时更新的网络资源,因此建议您在官方Docker Hub仓库、麒麟官方文档或其他相关社区论坛中查找是否有现成的麒麟桌面版v10 Docker基础镜像可供使用。这些资源可能会提供最新的信息和解决方案。
参考文章4 在哪儿?
我dockerhub ,麒麟官方,社区我都没有找到;
因公司项目需要运行在银河麒麟V10的系统下,使用Docker制作开发环境,在测试过程尝试过用CentOS 7/8 作为基础镜像,但是发现CentOS 7 GCC版本比较低,CentOS 8软件源被关闭。突发奇想,想着用银河麒麟系统(以下简称麒麟系统)做个基础镜像。
#进入工作目录,可以随意定,不能用/root
mkdir /home/kylin-docker-fs && cd /home/kylin-docker-fs
#创建基础目录,dev 必须要创建,不然会提示找不到/dev/null
mkdir usr dev
cp -a /usr/lib /usr/lib64 /usr/bin /usr/share usr/
#创建链接2
ln -s usr/lib lib
ln -s usr/lib64 lib64
ln -s usr/bin bin
#复制配置以及root目录
cp -a /etc /root ./
#裁剪部分脚本,不然会提示/proc 没有mount
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
#测试镜像目录
chroot .
#镜像目录测试没有问题,打包
cd ..
tar -C kylin-docker-fs/ -z -c . -f kylin-armv8-docker.tar.gz
mkdir /home/kylin-docker && cd /home/kylin-docker
mv ../kylin-armv8-docker.tar.gz ./
vi Dockerfile
##写入以下内容,内容模板来源于CentOS镜像的Dockerfile
FROM scratch
ADD kylin-armv8-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="20220816" \
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-08-16 00:00:00+00:00"
CMD ["/bin/bash"]
#保存文件
:wq
cd /home/kylin-docker
docker build . -t kylin:10sp1
Q:/usr/share目录没有拷贝,chroot进入测试,backspace 键变成空格,鼠标后退一个位置,但是字符是被删除了的
A:没有找到确定的原因,网上查找说是shell 的设置问题,后面拷贝/usr/share目录解决该问题
Q: 问题截图如下
A:镜像文件根目录创建/dev目录即可
Q:问题截图如下
A:解决方案,就是移除/etc目录下flatpak.sh,gawk.csh,gawk.sh,lang.csh,lang.sh,system-info.sh,应该是麒麟系统内部添加部分启动逻辑引起的问题。这里的粗暴移除,可能会对其他依赖功能有影响,因未经详细测试,后面再补充。
Q:使用的时候,发现用制作出来的镜像启动容器,性能和裸机差距较大,一个程序裸机花费7000s,容器花费9000+s(2022-09-27更新)
A:具体原因没有排查出来,更换其他基础镜像测试,虽然也有损耗,但是在可以接受范围。
这样创建出来的镜像体积相当巨大,压缩后600多M,解压缩达到1.6G。导致该镜像体积大的原因有两个
1.没有裁剪
2.银河麒麟在Server版本安装了很多非必要的库(例如Qt5、X11、GTK这些)
如果能裁剪,应该能达到CentOS那样的基础镜像大小。
其他系统应该也可以参考该方法制作,但是该方法制作的镜像移植性和兼容性没有测试过。
添加我为好友,拉您入交流群!
请使用微信扫一扫!