KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA
Docker 应用课:把容器用对 — keel 龙骨
从「会敲命令」到「能预判这份配置在别人机器上会怎么坏」
从「会敲命令」到「能预判这份配置在别人机器上会怎么坏」
章节目录
- 01 · 容器与构建上下文:那个 `.` 到底是什么 — 这一章回答:docker build . 传给引擎的是什么?为什么它同时决定了构建速度、缓存稳定性和密钥安全?
- 02 · 层、缓存与指令顺序:构建时间的真正变量 — 这一章回答:层的缓存键由什么构成?为什么同样的指令换个顺序,构建时间能差十倍?
- 03 · 一个真能跑起来的 Dockerfile:逐行的理由与代价 — 这一章回答:一份多阶段 Dockerfile 里每一行在决定什么?哪些写法会让构建直接失败,哪些会让镜像带着不需要的东西上线?
- 04 · Compose:把"一组容器"描述成一份可解析的声明 — 这一章回答:compose.yml 里的声明最终变成了什么?depends_on 写了为什么还连不上?变量从哪儿来、谁优先?
- 05 · 配置与密钥跨边界:东西是在哪一步漏出去的 — 这一章回答:一份配置或密钥要经过哪几道边界才能被应用读到?在哪一道边界上做错,会让它永久留在镜像里?
- 06 · 信号与优雅停机:停止是谁的命令,信号发给了谁 — 这一章回答:容器停止时信号经过哪几跳到达你的进程?为什么写在应用里的优雅退出逻辑可能一次都没被执行?
- 07 · 排障、资源限制与选型边界 — 这一章回答:容器行为不对时,你手上有什么工具?exit code 137 之外的那些退出码怎么读?以及哪些问题根本不该用容器解决?