章节摘要:镜像是 Docker 词典里最核心的名词——容器由它而跑,磁盘被它吃满,仓库因它而存在。本部把镜像相关的命令收拢成三组词条:查与拉(pull、images、inspect、history)、造(build 及其参数现场)、清与搬(rmi、prune、save、load)。每个词条按"语法—义项—使用现场"展开,重点放在输出的读法:分层是什么、悬空镜像从哪来、构建缓存为何失效。读完本部,镜像对你不再只是一个名词,而是一组随取随用、随坏随修的操作动作。
阅读完本部,你应当能够:
金句:镜像是一叠只读层,本部的每个动词都在对这叠层做加法、减法或者打包搬运。
2.1 镜像的拉取与查看词条:pull、images、inspect、history 四条命令的完整词条。重点是读输出:拉取时层为何有的下载有的复用,列表里 SIZE 为什么比磁盘占用看起来大,history 如何暴露每层的来路。
2.2 build 构建命令现场:docker build 的完整现场。从一条最小构建命令出发,讲清构建上下文、标签命名、缓存命中规则与 --no-cache、--build-arg 等义项的适用时机,附缓存失效排查会话。
2.3 镜像清理与搬运词条:rmi、image prune 负责减法,save、load 负责搬运。悬空镜像与未使用镜像的判定差异决定清理命令怎么选,导出归档则是把镜像带进无外网环境的正规通道。
三节覆盖镜像从进到出的一生:先拿到镜像(2.1 拉取或 2.2 构建),再观察它(2.1 的查看词条),最后处置它(2.3 清理或搬运):
+----------------+ +----------------+ +----------------+ | 2.1 拉取与查看 | --> | 2.2 build 构建 | --> | 2.3 清理与搬运 | | pull/images | | 上下文与缓存 | | rmi/prune | | inspect/history| | -t / -f | | save/load | +----------------+ +----------------+ +----------------+ | | | +---- 得到的镜像交给叁部运行,打标后由肆部推送 ----+
前置:壹部的环境验证已通过、会用 --help 查参数表。本部出现的"层""标签"概念都在词条现场里就地解释,不要求先修容器原理。延伸:本部产出的镜像名是叁部所有 run 命令的第一个位置参数;2.2 的构建缓存思想在柒部 Compose 的 build 字段里原样复用;2.3 的清理词条在捌部治理现场会与容器、卷的 prune 命令合并成一套例行动作。可自测的过关线:给你一个陌生镜像名,你能说出它的体积、层数、每层来路,并在磁盘告警时判断哪些能删、怎么删。