searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

基于国产操作系统构建Docker基础镜像

2024-03-15 01:13:37
407
0

1. 基于Kylin-Server-10-SP1-Release-Build04-20200711-x86_64.iso,本地创建虚拟机,最小化安装系统。

2. 登录虚拟机,构建镜像文件。

#创建工作目录,不能用/root
mkdir /tmp/kylin-docker-fs && cd /tmp/kylin-docker-fs

#创建基础目录,dev 必须要创建,不然会提示找不到/dev/null
mkdir usr dev
cp -a /usr/lib /usr/lib64 /usr/bin /usr/share usr/

#创建链接
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 .
exit

#镜像目录测试没有问题,打包
cd ..
tar -C kylin-docker-fs/ -z -c . -f kylin-armv10-docker.tar.gz

3. 构建Docker镜像目录

mkdir /tmp/kylin-docker && cd /tmp/kylin-docker
mv ../kylin-armv10-docker.tar.gz ./

vi Dockerfile,内如如下:
 FROM scratch
 ADD kylin-armv10-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="20230530" \
     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-05-30 00:00:00+00:00"

 CMD ["/bin/bash"]

4. 编译镜像

cd /tmp/kylin-docker
docker build . -t kylin:10sp1

#构建完成后,查看镜像信息

[root@localhost kylin-docker]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
kylin               10sp1               aba7143ddd6e        36 seconds ago      2.41GB

5. 运行镜像,测试镜像是否能正常使用

docker run -it kylin:10sp1 /bin/bash

 

0条评论
0 / 1000
但****杰
3文章数
0粉丝数
但****杰
3 文章 | 0 粉丝
但****杰
3文章数
0粉丝数
但****杰
3 文章 | 0 粉丝
原创

基于国产操作系统构建Docker基础镜像

2024-03-15 01:13:37
407
0

1. 基于Kylin-Server-10-SP1-Release-Build04-20200711-x86_64.iso,本地创建虚拟机,最小化安装系统。

2. 登录虚拟机,构建镜像文件。

#创建工作目录,不能用/root
mkdir /tmp/kylin-docker-fs && cd /tmp/kylin-docker-fs

#创建基础目录,dev 必须要创建,不然会提示找不到/dev/null
mkdir usr dev
cp -a /usr/lib /usr/lib64 /usr/bin /usr/share usr/

#创建链接
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 .
exit

#镜像目录测试没有问题,打包
cd ..
tar -C kylin-docker-fs/ -z -c . -f kylin-armv10-docker.tar.gz

3. 构建Docker镜像目录

mkdir /tmp/kylin-docker && cd /tmp/kylin-docker
mv ../kylin-armv10-docker.tar.gz ./

vi Dockerfile,内如如下:
 FROM scratch
 ADD kylin-armv10-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="20230530" \
     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-05-30 00:00:00+00:00"

 CMD ["/bin/bash"]

4. 编译镜像

cd /tmp/kylin-docker
docker build . -t kylin:10sp1

#构建完成后,查看镜像信息

[root@localhost kylin-docker]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
kylin               10sp1               aba7143ddd6e        36 seconds ago      2.41GB

5. 运行镜像,测试镜像是否能正常使用

docker run -it kylin:10sp1 /bin/bash

 

文章来自个人专栏
信创容器镜像
3 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0