KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA
Docker 概念课:把应用课抛出的概念讲清楚 — keel 龙骨
Docker 概念课:把应用课抛出的概念讲清楚 的参考信息:Docker 概念课:把应用课抛出的概念讲清楚
短页参考 · 概念从哪来、是什么、解决什么问题、长什么样
《Docker 应用课》 是按主题一路往下写的:一章讲构建上下文,一章讲层与缓存,一章讲 Compose,一章讲信号与停机。它假定你已经能读懂 Dockerfile,直接把判断讲给你听。
但每一章都会抛出概念——层、缓存、镜像、构建上下文、可写层、PID 1。这些概念在正文里是按"够用"的深度出现的:讲缓存时说清"缓存键由父层键和本指令指纹组成",就够你去排序 Dockerfile 了。
这门课补的就是那一段:当应用课里的某个概念让你推不下去、或者你只是想知道它到底是怎么回事时,来这里读一页。
它刻意很短。AI 已经替你解决掉了大部分底层实现问题,你不需要跟着再挖一遍内核——你需要的只是知道这个概念怎么产生的、它是什么、它解决什么问题、它面对什么需求、它具体长什么样。把这五件事弄清楚,回头再看应用课里那些面向场景与取舍的判断,会顺得多。
这门课是什么,不是什么
| 它是 | 它不是 |
|---|---|
| 参考页:一页一个概念,4–6 分钟读完 | 不是教程:没有从零讲起的引导 |
| 概念的来历与形态:它为什么需要存在、长什么样 | 不是原理深挖:不读内核源码、不推协议细节 |
| 应用课的下钻入口:从被卡住的那一句点进来 | 不是应用课的替代:场景、取舍、排障仍在应用课 |
概念地图
| 概念 | 类型 | 回答什么 | 对应应用课 |
|---|---|---|---|
| 00 镜像 | 主题概念 | 为什么要有一个"可整份传递的运行环境";它由什么组成 | 01 章 |
| 01 层 | 衍生概念(服务于「镜像」) | 镜像怎么会是一层一层垒起来的;为什么它能被共享、不能回退 | 01 章、02 章 |
| 02 容器 | 主题概念 | 它和虚拟机差在哪一条上;可写层是什么 | 01 章、06 章 |
| 03 构建上下文 | 主题概念 | 构建时到底送了哪一段字节进去;为什么它决定构建快慢与密钥安全 | 01 章 |
主题概念是被应用课当作章节主题讲的东西;衍生概念是为了理解某个主题概念而必须先弄懂的东西——比如不懂"层",就说不清"镜像为什么不可变、为什么能被共享"。每一页都会在末尾列出它带出的衍生概念。
怎么读
- 按需读:应用课读到哪一句卡住,就从那一句旁边的链接点进来;每页最后都会指回去。
- 也可以当最小地图读:四页按顺序读一遍约 20 分钟,你会拿到 Docker 这几个核心概念之间的位置关系。
- 不要背。每一页的重点不是定义,而是"这个概念改变了你的哪个判断"——那句话才是要带走的。
与相邻课程的分工
- 《Docker 应用课》:同源课。它管"怎么用对"(写对 Dockerfile、排对顺序、把住配置边界),本课管"这个概念是什么"。同一个概念在两边的深度不同——应用课讲到"够你做判断"为止,本课讲到"你知道它是什么、从哪来"为止。
- 《构建打包与部署上线》:那边把镜像当发布产物管(版本策略、供应链、部署与回滚)。
- 《Kubernetes 应用课》:容器这套概念搬到多节点后的判定后果。
关于证据口径
页面里的命令输出分两类:
- 本机真跑:层清单、镜像元数据来自本机对公开镜像仓库的客户端查询(不需要 daemon),数值未经改写。
- 静态走读:本机 Docker daemon 未运行,因此
docker history、docker system df -v、docker build的执行结果没有实测。凡涉及它们的页面,写的是"该看哪一列、判据是什么",并注明未实测。
镜像是可变的上游产物——页面里的具体摘要与数值会随上游更新而变化,请核验的是字段之间的关系,不要把某个摘要当结论抄下来。
课程导读(起点自检、阅读方式)见 course/README.md。