章节摘要:本章跟着一条线走——把一个"本机跑得好好的编队",改造成能见人的工程交付物:过安检(安全基线)、进流水线(CI/CD)、定班期(部署与版本管理)、备应急预案(排错与恢复),最后眺望航线尽头的自动化港区(Kubernetes)。
前六章你的容器世界都在开发机与测试机上,本章回答一个职业问题:同样的东西怎么敢放到生产上。主线任务是一次模拟交付:把第 6 章的编队交付到一台生产服务器上,交付过程要过五关——
五关的顺序不是随意的:安检不合格的箱子不进流水线;流水线没建立就没有可靠的版本管理;版本管理混乱则故障无从恢复;恢复能力练扎实了,才有资格眺望更大的港区。这条线走完,你的容器技能从"会跑"变成"敢交付"。
交付前的安检清单:镜像侧(可信底座、漏洞扫描、最小化)、运行侧(最小权限、非 root 用户、能力裁剪)、宿主侧(引擎自身的攻击面管理)。这一站把第 1 章埋的"共享内核隔离上限"话题给出工程答案。
让箱子自己排队进港:镜像在流水线里构建、测试、扫描、推送的完整旅程。这一站讲流水线各环节的容器化实践与缓存提速,让"每次交付"从人肉变成自动。
生产部署的节奏学:标签纪律、环境晋升(测试到生产的通道)、滚动更新与回滚。这一站回答"怎么换版本不出事"——以及出事后怎么退回去。
应急预案手册:从告警到定位的系统路径(分诊五步法)、容器场景特有故障模式(可写层膨胀、泊位冲突、OOM 循环)、性能优化的优先级。这一站是前六章所有排障知识的总演习。
航线尽头的前瞻:为什么单机编队最终会不够用、自动化港区解决了什么、概念对照表(Compose 到 K8s 的词汇翻译)、以及一条务实的学习路线。这一站不教 K8s,教你怎么准备好学它。
五关里 7.4 相对独立,可随时插读当值班的应急手册用;其余四关有先后依赖,建议按序走,中途对哪一关的底层知识生疏,就先回对应章节补课再继续。全章演习共享第 6 章那支编队作为交付对象,不必另起炉灶。
本章最重要的认知转折在 7.1:容器安全不是"加个密码",而是三层各管一段的系统工程。镜像层决定攻击面起点,运行层决定被攻破后的爆炸半径,宿主层决定引擎这个"码头本身"的可靠性。单看每一层都有漏洞可挑,三层叠加才是工程答案——这与集装箱码头的安保逻辑一样:验货、锁箱、管港,缺一层都是事故。
第二个转折在 7.2 到 7.3 之间:交付物的单位从"代码"变成了"镜像"。流水线不再搬运代码去各种环境安装,而是把环境固化在镜像里搬运;部署不再"改配置",而是"换标签起新箱"。这个转变让"在我机器上是好的"在生产语境下失效——因为生产跑的就是"你机器上跑过的那只箱子"。
本章落点一句话:敢交付 = 安检合格 + 流水线自动 + 版本可退 + 故障可诊。四项齐备,你的容器才算完成了从玩具到生产力的蜕变。
阅读方式也提示一下:本章命令大多需要多机或流水线环境才能完整实操,单机读者重点吃透决策逻辑与判断标准(为什么生产不构建、为什么标签不可变、为什么先止血后根治),动手部分量力而行。理解了"为什么",等你进入真实生产环境时,"怎么做"自然水到渠成。
本章是本教程的终点,却刻意停在另一个世界的门口。Kubernetes 的世界需要整整一套新教程来展开;你在这里练下的每一样东西——镜像分层、声明式、健康检查、资源配额——都是那个世界的通用货币。港口的灯已经亮了,航线由你决定。