彻底重置需组合参数:默认docker compose down仅停容器、删容器、清网络;加--volumes删命名卷和匿名卷;加--rmi local/all删构建镜像;终极清理用docker compose down --volumes --rmi all。
要彻底重置 docker compose 编排环境,关键不是“全删”,而是按需组合清理动作——默认 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(注意评估影响范围)


















