一、为什么需要“拆楼级”清理?——down命令的存在意义
在Docker开发中,我们经常用docker-compose up启动一套服务栈,但停止服务时,很多人习惯直接Ctrl+C或运行docker-compose stop。这就像只关闭大楼的电源却不拆掉临时工棚——容器虽然停止,但残留的容器实例、网络配置、未命名卷仍占用资源,长期积累会导致磁盘爆炸、端口冲突、网络混乱等问题。
真实惨案场景:
- 磁盘空间杀手:某开发者发现硬盘爆红,排查后发现是500GB的Docker残留卷;
- 端口占用幽灵:明明容器已停,端口仍被占用,因为默认网络未清除;
- 配置污染:旧环境变量或挂载卷干扰新测试。
而docker-compose down正是为解决这些问题而生:它不仅是停止服务,更是彻底拆除项目环境,回归原始状态。接下来,我们深入解剖这条“拆楼指令”的魔法。
二、down命令工作原理——不只是“停止+删除”
执行docker-compose down时,背后发生了这些动作:
- 停止容器:向所有服务容器发送SIGTERM信号,优雅终止进程(若需强制则用
-t参数调整超时)。 - 删除容器:容器实例被移除(但注意:数据卷默认保留!)。
- 清理网络:移除C

最低0.47元/天 解锁文章
6万+

被折叠的 条评论
为什么被折叠?



