直接运行 docker system prune -a -f 可一键清理所有已停止容器、未被任何容器(含已停止)引用的本地镜像、悬空构建缓存及未使用的自定义网络;该命令按依赖顺序安全执行,自动保护正在被引用的资源,并支持 --filter until=24h 等条件过滤。

直接用 docker system prune -a -f 就能一键清理所有已停止的容器、未被引用的镜像、悬空构建缓存和未使用的网络。
哪些内容会被清理
该命令会清除:
- 所有已停止的容器(不包括正在运行的)
- 所有未被任何容器(含已停止)引用的本地镜像
- 所有悬空的构建缓存(build cache)
- 所有未被任何服务或容器使用的自定义网络
为什么比分开执行更稳妥
单独运行 docker container prune 和 docker image prune -a 可能存在时序问题:比如先删了镜像,再删容器时可能因依赖关系报错;而 system prune -a 内部按依赖顺序处理,自动跳过正被使用的资源,不会中断或报错。
它还自带安全机制——只要某个镜像仍被任一容器(哪怕已 stop)作为基础镜像使用,就不会被删除。
想保留某些资源?可以加过滤条件
如果只想清理最近24小时内未使用的资源,加 --filter until=24h:
若只清镜像不碰容器和网络,改用:
docker image prune -a -f注意:-f 跳过确认,生产环境建议先不加 -f,看一眼将删列表再决定。
清理后怎么确认效果
执行完运行:
docker system df它会显示镜像、容器、卷、构建缓存各自占用的空间,对比前后数值就能看出释放了多少。
操作前建议用 docker ps -a 和 docker images 快速扫一眼关键容器和镜像是否还在列表里,避免误操作。


















