> 📘 本案例有深度详解(含真实提示词与全程调试):案例26 · Docker 全栈容器编排
【关键工具】 Claude Code + Docker Compose
【70% Vibe】
即使你是零基础,也能让 Claude Code 写出一份完美的 Dockerfile 和 docker-compose.yml,一键拉起前端、后端、Redis、PostgreSQL 四个容器,并自动完成它们之间的互联。这把过去让无数人头疼的"环境配置地狱"自动化了——"在我电脑上能跑"终于可以变成"在哪台机器上都能一键跑起来"。
【30% Engineering】
容器编排的 30%,是两个"顺序"和"持久"的经典坑。
第一是容器启动顺序依赖。后端服务依赖数据库,但容器是并行启动的——如果后端比数据库先起来,它会因为连不上数据库而崩溃。你不能只是"让它们都启动",还要确保"数据库真正就绪后,后端才开始连接"。这需要正确配置健康检查(health check)和依赖等待,而不是天真地假设它们会按你想的顺序好起来。
第二是生产环境的数据卷(Volume)持久化权限。容器是"用完即焚"的——容器一删,里面的数据就没了。要让数据库的数据在容器重启后依然存在,必须用数据卷把数据持久化到宿主机。而这里又牵扯到文件权限问题:容器内的进程对挂载进来的卷有没有读写权限,配不对就会出现"数据库起不来"或"数据存不进去"的诡异故障。
破局心法
Docker 让"打包环境"变简单了,但"编排多个有依赖关系的服务"和"管理持久化数据"依然是需要工程经验的 30%。AI 能生成配置文件的骨架,但"为什么 DB 没起来后端就崩了"这类排障,靠的还是你对系统运行机制的理解。