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)
2. 下載軟件包
? ?略。
3. 創建一個根目錄:openeuler_root
4. 創建一個臨時目錄用于存放解壓的文件 tmp
5. 解壓軟件包到根目錄
rpm2cpio a.rpm | cpio -idmv -D tmp
cp -r tmp/* openeuler_root/
6. 構建鏡像
FROM scratch
ADD openeuler_root /
WORKDIR /
CMD ["/bin/bash"]
7. 生成鏡像
docker build -t openeuler_test:latest .
8. 結果:
[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
9. 產看鏡像
[root@192.168.136.45 docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
openeuler-base latest d689d5476c35 About a minute ago 512MB