KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA
课程导读 · Docker 概念课 — keel 龙骨
Docker 概念课:把应用课抛出的概念讲清楚 的参考信息:课程导读 · Docker 概念课
应用课抛出一个概念,这里把它讲清楚——它从哪来、是什么、解决什么问题、长什么样
这门课为什么这么短
因为它的目的不是"把底层讲透",而是把应用课里的一个概念讲到你推得下去。
AI 已经把大部分底层实现替你解决了。你不需要跟着再挖一遍内核,你需要的是:知道这个概念怎么产生的、是什么、解决什么问题、面对什么需求、具体长什么样。这五件事弄清楚了,回头再看应用课里那些面向场景与取舍的判断,反而会更清楚——这也是这门课存在的唯一理由。
所以每一页都长成同一个样子,四件事 + 两处收口:
一、它为什么会出现 ← 需求 + 问题(带一个具体现场)
二、它是什么 ← 一句话定义 + 它不是什么
三、它长什么样 ← 真实形态:命令 / 配置 / 输出
四、它怎么工作 ← 一次完整的过程(短)
五、它会带出哪些概念 ← 衍生概念:各自一句 + 指向哪一页
六、回到应用课 ← 把应用课里的哪句结论变成可推导的 + 一个判断
自测题 ← 两道,能口头答出就算过
这四件事之外的(生产边界、故障注入、排障清单)不在这里——那是应用课各章的内容,本课刻意不重复。
你现在的起点
这门课没有前置要求,可以直接读。但如果你是带着问题来的,先看哪一页:
| 你的处境 | 去读 |
|---|---|
| "我知道镜像分层,但说不清一层里到底装了什么" | 01 层 |
| "为什么改一行代码要重装依赖""为什么两张镜像能共享" | 01 层 |
| "容器和虚拟机到底差在哪,为什么说它共享内核" | 02 容器 |
"docker build . 那个点到底传了什么,为什么构建这么慢" |
03 构建上下文 |
| "层是数据结构吗?能回退到某一层吗?" | 01 层 §二 |
| "想先有个整体位置感" | 00 镜像 起,四页顺读约 20 分钟 |
概念地图与"衍生概念"
概念分两种,这是本课唯一的分类:
| 概念 | 类型 | 一句话 |
|---|---|---|
| 00 镜像 | 主题概念 | 只读的文件系统 + 一份启动配置 |
| 01 层 | 衍生概念,服务于「镜像」 | 相对上一层"改了哪些文件"的一次记录 |
| 02 容器 | 主题概念 | 只读镜像 + 一个可写层 + 一个进程 |
| 03 构建上下文 | 主题概念 | docker build 那个路径下,被跨进程送出去的整段字节 |
衍生概念是为了理解某个主题概念而必须先弄懂的东西:不懂"层",就说不清"镜像为什么不可变、为什么能被共享";不懂"可写层",就说不清"容器为什么无状态"。每页的第五节会列出它带出的衍生概念,以及该去哪一页。
与其它课程的关系
- 《Docker 应用课》:同源课。它按主题往下讲判断(顺序怎么排、边界怎么把、停机怎么做);本课补它每一步里被当作"你已经懂了"的那个概念。两边互相链接:应用课的正文里有本课的入口,本课的每页末尾指回应用课对应的那一章。
- 《构建打包与部署上线》:镜像作为发布产物的视角(版本策略、供应链、部署与回滚)。
- 《Kubernetes 应用课》:容器这套概念搬到多节点之后。
阅读方式
- 当成下钻入口:读到卡住的那句,点旁边的链接进来;读完顺着"回到应用课"跳回去。
- 当成最小地图:四页顺读,拿到这几个概念之间的位置关系。
- 不要当手册:这里没有命令清单。每一页要带走的只有最后那句"这一页改变了你的哪个判断"。