推荐命令是 docker container prune,它只删除已停止的容器,不影響运行中容器、镜像或卷,执行前会提示确认,安全通用。

要清理所有未运行的容器,最常用且安全的一行命令是:
推荐命令(安全、通用)
docker container prune
这是 Docker 官方推荐的方式,只删除 已停止 的容器,不会影响正在运行的容器,也不会误删镜像或卷。
- 执行时会提示确认(加
-f可跳过) - 等价于
docker rm $(docker ps -aq -f status=exited),但更清晰、不易出错 - 适合日常运维,尤其在 CI/CD 或测试环境批量清理时
其他常见写法(按需选用)
强制一键清理(无提示):docker container prune -f
连带清理已退出且未被任何容器引用的网络和构建缓存(Docker 20.10+):docker system prune -f --filter "until=24h"
(加 --filter 可限定时间范围,避免误清近期停用的容器)
注意避开的误区
-
docker rm $(docker ps -aq)—— 会尝试删除所有容器(包括正在运行的),报错且危险 -
docker rm $(docker ps -aq -f status=created)—— 只删“已创建未启动”的,漏掉 exited/stopped 状态 - 未加
-f时,prune类命令默认不执行,只是预览,可放心先试
小技巧:快速查看待清理容器
执行清理前,先运行:
docker ps -a -f status=exited -f status=created
可直观看到哪些容器会被 container prune 清掉。










