制作麒麟V10的Docker镜像
  aOYB9Qh7rxCg 2023年11月02日 49 0

工作需要,客户想在K8s集群中搭建Greenplum集群,要求操作系统是麒麟V10。虽然数据库不建议安装在k8s中,但客户就是上帝,那就试试吧。本文讲解第一步:制作一个基于麒麟V10的Docker镜像。

  1. 银行麒麟官网下载镜像。此次下载服务器版。
  2. 使用麒麟V10的ISO镜像,最小化安装虚拟机。此步很简单,省略。
  3. 构建镜像文件 3.1 在虚拟机中创建准备目录
mkdir /kylin
mkdir -p /kylin/usr /kylin/dev

3.2 复制相关文件,并创建软链接

cp -a /usr/lib /usr/lib64 /usr/bin /usr/share /kylin/usr/
ln -s /kylin/usr/lib /kylin/lib
ln -s /kylin/usr/lib64 /kylin/lib64
ln -s /kylin/usr/bin /kylin/bin

完成后,显示如下:

[root@localhost kylin]# ll
总用量 0
lrwxrwxrwx 1 root    root     8  9月 20 10:14 bin -> /usr/bin
drwxrwxr-x 2 gpadmin gpadmin  6  9月 20 10:07 dev
lrwxrwxrwx 1 root    root     7  9月 20 10:13 lib -> usr/lib
lrwxrwxrwx 1 root    root     9  9月 20 10:14 lib64 -> usr/lib64
drwxrwxr-x 6 gpadmin gpadmin 54  9月 20 10:09 usr

3.3 复制配置以及root目录

cp -a /etc /root ./
# 完成后目录如下:
[root@localhost kylin]# ll
总用量 12
lrwxrwxrwx   1 root    root       8  9月 20 10:14 bin -> /usr/bin
drwxrwxr-x   2 gpadmin gpadmin    6  9月 20 10:07 dev
drwxr-xr-x 142 root    root    8192  9月 20 10:15 etc
lrwxrwxrwx   1 root    root       7  9月 20 10:13 lib -> usr/lib
lrwxrwxrwx   1 root    root       9  9月 20 10:14 lib64 -> usr/lib64
dr-xr-x---   4 root    root     169  9月 20 10:04 root
drwxrwxr-x   6 gpadmin gpadmin   54  9月 20 10:09 usr

3.4 裁剪脚本

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

3.5 测试镜像目录

[root@localhost kylin]# chroot .
[root@localhost /]# 

如无问题,可打包:

tar -C kylin-docker-fs/ -z -c . -f kylin-docker.tar.gz
  1. 构建docker镜像 首先把kylin-docker.tar.gz文件移动到自定目录,用于构建镜像。然后在该目录下,编辑DockerFile,写入内容如下:
FROM scratch

ADD kylin-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="2023-09-20 10:36:00+00:00"

	CMD ["/bin/bash"]

保存后,构建镜像测试

docker build . -t kylin:10sp1
[+] Building 61.3s (3/4)                                                                                 docker:default
 => [internal] load .dockerignore                                                                                  0.0s
 => => transferring context: 2B                                                                                    0.0s
 => [internal] load build definition from Dockerfile                                                       [+] Building 62.5s (3/4)                                                                    docker:default
[+] Building 63.9s (3/4)                                                                               docker:default
 => [internal] load .dockerignore                                                                                0.0s
 => => transferring context: 2B                                                                                  0.0s
[+] Building 146.3s (5/5) FINISHED                                                                                                         docker:default
 => [internal] load .dockerignore                                                                                                                    0.0s
 => => transferring context: 2B                                                                                                                      0.0s
 => [internal] load build definition from Dockerfile                                                                                                 0.0s
 => => transferring dockerfile: 565B                                                                                                                 0.0s
 => [internal] load build context                                                                                                                   13.7s
 => => transferring context: 2.59GB                                                                                                                 13.7s
 => [1/1] ADD kylin-docker.tar.gz /                                                                                                                 66.0s
 => exporting to image                                                                                                                              66.6s
 => => exporting layers                                                                                                                             66.6s
 => => writing image sha256:41711df538b28bdb426cb861f680fef4ec4f67af6f372a23e6a813034f3f1c30                                                         0.0s
 => => naming to docker.io/library/kylin:10sp1                                                                                                       0.0s

What's Next?
  View a summary of image vulnerabilities and recommendations → docker scout quickview

完成后,可查看镜像信息:

docker images
REPOSITORY         TAG       IMAGE ID       CREATED         SIZE
kylin              10sp1     41711df538b2   3 minutes ago   6.24GB
greenplum/kyv10    v1        399f3fd46947   6 days ago      2.9GB
gareenbeam/kyv10   v4        7a85ef121eb3   6 days ago      2.85GB
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  xqA0sOKuvLcb   2023年11月22日   38   0   0 redisDockerredisdocker
  bifOjSxj34Bv   2023年12月07日   38   0   0 nginxDockerdockernginx
  IEgV2R47Wr6T   2023年11月12日   70   0   0 数据mysqldocker
aOYB9Qh7rxCg