docker compose down 默认只停容器、删容器、清网络,不删数据卷和镜像;加 --volumes 可删命名卷和匿名卷,加 --rmi local/all 可删构建镜像,组合使用可实现彻底清理。

直接用 docker compose down 就能清理大部分资源,但“所有”编排资源需要搭配特定选项——默认它只停容器、删容器、清网络,数据卷和镜像都留着。
基础清理:停容器 + 删网络
这是最常用也最安全的一步,适合日常开发收尾:
- 确保在
docker-compose.yml所在目录执行命令 - 运行
docker compose down - 它会按顺序:发送 SIGTERM 停容器 → 等 10 秒(可调)→ 强杀未退出的 → 删除容器 → 移除项目专属网络
注意:匿名卷、命名卷、镜像全部保留,防止误删数据。
连数据卷一起清掉
如果要重置数据库或彻底清空状态(比如测试环境),加 --volumes:
docker compose down --volumes- 会删除
volumes:下定义的命名卷,以及服务挂载的匿名卷 - 正在被其他容器使用的卷不会被删,系统会跳过并提示
⚠️ 操作不可逆,确认没有重要数据再执行。
顺手把构建的镜像也删了
反复 build 会积累大量本地镜像,用 --rmi 清理:
-
docker compose down --rmi local:只删build:生成、没打 tag 的镜像(推荐日常用) -
docker compose down --rmi all:删所有服务用到的镜像,包括image:拉取的(慎用,可能影响其他项目)
系统会检查镜像是否被其他容器引用,有依赖就跳过,不强删。
终极一键清理(开发/CI 场景适用)
想真正“从头开始”,组合使用这几个参数:
docker compose down --volumes --rmi all- 等价于:停容器 + 删容器 + 清网络 + 删所有卷 + 删所有关联镜像
- 执行前建议先
docker compose ps确认当前服务状态,避免误操作
如果还想清理悬空镜像、未用网络等全局残留,可额外补一句:docker system prune -f(谨慎评估影响范围)。











