目录

制作自定义镜像

目录

制作自定义镜像

  1. 确定软件包

确定自己的环境都需要哪些命令,然后,从镜像文件或者yum源下载响应的安装包。

bash基本是必选的  (bash-5.1.8-10.oe2203sp2.aarch64.rpm)

vim也是有必要的 (vim-enhanced-9.0-15.oe2203sp2.aarch64.rpm)

ssh 看需要 (openssh-8.8p1-20.oe2203sp2.aarch64.rpm openssh-server-8.8p1-20.oe2203sp2.aarch64.rpm)

tar命令(tar-1.34-4.oe2203sp2.aarch64.rpm)

  1. 下载软件包

略。

  1. 创建一个根目录:openeuler_root

  2. 创建一个临时目录用于存放解压的文件 tmp

  3. 解压软件包到根目录

rpm2cpio a.rpm | cpio -idmv -D tmp
cp -r tmp/* openeuler_root/
  1. 构建镜像
FROM scratch
ADD openeuler_root /
WORKDIR /
CMD ["/bin/bash"]
  1. 生成镜像
docker build -t openeuler_test:latest .
  1. 结果:
[root@192.168.136.45 docker]# docker build -t openeuler-base:latest .
Sending build context to Docker daemon  1.008GB
Step 1/4 : FROM scratch
 ---> 
Step 2/4 : ADD openeuler_root /
 ---> 5b1a4d89817a
Step 3/4 : WORKDIR /
 ---> Running in 4ef034410c0d
Removing intermediate container 4ef034410c0d
 ---> f4af44b44e76
Step 4/4 : CMD ["/bin/bash"]
 ---> Running in 22673188bfb8
Removing intermediate container 22673188bfb8
 ---> d689d5476c35
Successfully built d689d5476c35
Successfully tagged openeuler-base:latest
  1. 产看镜像
[root@192.168.136.45 docker]# docker images 
REPOSITORY                TAG                 IMAGE ID            CREATED              SIZE
openeuler-base            latest              d689d5476c35        About a minute ago   512MB

补充:

这里面要注意 /etc 目录和其他自己需要的目录要自己创建,还有一些重要的环境变量和配置要加上。