当前位置: 首页 > news >正文

制作自定义镜像

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

补充:

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


    http://www.mrgr.cn/news/94028.html

    相关文章:

  • 【OpenGL】01-配置环境
  • react中字段响应式
  • 安装、配置和启动 ssh 服务,实现远程连接服务器
  • SVT-AV1源码分析函数 svt_av1_optimize_b
  • c++ constraints与concepts使用笔记
  • 如何用HTML5 Canvas实现电子签名功能✍️
  • 全网最详解答OSPF基础
  • 我与DeepSeek读《大型网站技术架构》(10)- 维基百科的高性能架构设计分析
  • C# Enumerable类 之 数据分组
  • 插入排序算法优化
  • 数字电路逻辑代数 | 运算 / 定律 / 公式 / 规则 / 例解
  • 【设计模式】《设计模式:可复用面向对象软件的基础》设计模式的分类与组织
  • 类和对象(下)
  • 大语言模型-语言模型发展历程
  • ⭐算法OJ⭐链表排序【归并排序】(C++/JavaScript 实现)
  • 基于Ollama平台部署的Qwen大模型实现聊天机器人
  • ⭐算法OJ⭐经典题目分类索引(持续更新)
  • NVSHMEM介绍、InfiniBand GPUDirect、和NVshmem使用案例说明
  • Application.OnTime如何引用带参数的过程
  • 记录--有惊无险