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

Docker 镜像制作原理 做一个自己的docker镜像

一.手动制作镜像

  1. 启动容器
  2. 进入容器定制
  3. 基于容器生成镜像

1.启动容器

启动容器之前我们首先要有一个镜像,这个镜像可以是从docker拉取,例如:现在pull一个ubuntu镜像到本机。

docker pull ubuntu:22.04

 我们接下来可以基于这个容器进行容器定制。

2.进入容器定制

基于镜像启动容器,进入到容器进行定制:

docker run -it ubuntu:22.04 bash

更换一下国内的源,docker cp 可以把本机的源拷贝到容器,我这里直接用了容器的源。

安装一些定制容器所需要的包:

 apt -y install wget curl net-tools procps psmisc iputils-ping iproute2 vim tzdata tcpdump telnet traceroute tree iotop unzip zip nfs-common lrzsz && apt clean

3.基于容器生成镜像

包装完之后退出,可以基于这个容器生成一个镜像

docker commit xenodochial_chandrasekhar ubuntu:22.04-myself
docker images 此时可以看到自己做的镜像了

 基于自己做的镜像,创建容器,看看工具有没有

docker run -it 81924198f671

 可以看到工具是有的

二.批量制作镜像(docker file).

Alpine 是一个轻量级的 Linux 发行版,广泛用于容器化环境和嵌入式系统中。它以体积小、安全性高和运行效率高而闻名。

首先创建目录,在目录下创建dockerfile目录,这样层次分明一些

创建一个容器查看alpine ,以及更换镜像源,以及安装想要安装的工具(curl,vim,tree等) alpine 更新源使用的是apk update

root@zhangxin-virtual-machine:/data/dockerfile/base/alpine-myself# vim Dockerfile

FROM alpine:3.18.0
LABEL maintainer="zhangxin kk"
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/' /etc/apk/repositories &&  apk update && apk --no-cache add gcc curl wget iotop libgcc libc-dev libcurl libc-utils pcre-dev zlib-dev libnfs make pcre pcre2 zip unzip net-tools pstree libevent libevent-dev iproute2
docker build -t alpine-myself:3.18.0 .

 

构建成功  此时 docker images 以及可以看到我们自己构建的镜像

 

 运行我们构建的镜像: 可以看到刚才安装的工具已经都有了

 自己构建的镜像比原镜像大了不少:


http://www.kler.cn/a/506506.html

相关文章:

  • MDX语言的数据库交互
  • EPC建设模式
  • 【微服务justsoso-cloud系列】目录
  • RabbitMQ的工作模式
  • 迅为RK3568开发板篇OpenHarmony配置HDF驱动控制LED-新增 topeet子系统-编写 bundle.json文件
  • C#,图论与图算法,任意一对节点之间最短距离的弗洛伊德·沃肖尔(Floyd Warshall)算法与源程序
  • 【安卓开发】【Android】总结:安卓技能树
  • 如何学习Transformer架构
  • 目标检测中的Bounding Box(边界框)介绍:定义以及不同表示方式
  • 【MySQL】高级查询技巧 JOIN、GROUP BY、ORDER BY、UNION 应用案列解析
  • Java全栈项目-办公自动化OA系统
  • 计算机网络 (41)文件传送协议
  • 【Linux探索学习】第二十六弹——进程通信:深入理解Linux中的进程通信
  • 网关相关知识
  • 计算机网络 网络层 2
  • PyCharm与GitHub完美对接: 详细步骤指南
  • 基于YOLOv8的卫星图像中船只检测系统
  • 用行动回应“实体清单”,智谱发布了一系列新模型
  • Python 如何操作 PDF 文件?
  • 2025-01-16 思考-人生下半场的归途-那温和的良夜
  • 运行fastGPT 第四步 配置ONE API 添加模型
  • 干货答疑分享记录:as导入问题,LSP含义,分屏进入SplashScreen
  • windows 电源选项卓越性能开启
  • kotlin的dagger hilt依赖注入
  • AI学习之自然语言处理(NLP)
  • 网络安全——常用语及linux系统