最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
容器管理如何批量停止与删除无用的容器实例
时间:2026-08-27 20:57:50 编辑:袖梨 来源:一聚教程网
批量清理无用容器需先停后删:用 docker stop $(docker ps -q) 停止所有运行中容器,再用 docker rm $(docker ps -a -q) 删除全部已停止容器;更安全的替代方案是 docker container prune -f,仅清理已退出容器且不误删镜像或数据卷。
批量停止和删除无用容器,关键是分清状态、避免误删、兼顾安全与效率。不需要逐个操作,几条命令就能完成。
先停所有运行中的容器
用 docker stop $(docker ps -q) 一键停止所有正在运行的容器。
它只作用于 running 状态的容器,不会影响已退出或暂停的容器,也不会报错。适合日常快速下线服务。
再删所有已停止的容器
停完后执行 docker rm $(docker ps -a -q),可删除全部容器(含已退出但未删的)。
注意:这条命令要求容器必须已停止,否则会提示“container is running”。
如果你只想删已停止的,更稳妥的做法是:
- 先运行 docker container prune -f —— 它自动识别并清理所有 exited 和 created 状态的容器
- 不碰正在运行的容器,也不删镜像、数据卷或网络,适合定期维护
按条件精准清理(避免全删)
不想清空全部?可以用过滤缩小范围:
- 删名称含 temp 的容器:docker rm $(docker ps -a | grep temp | awk '{print $1}')
- 删创建超过 24 小时的容器:docker rm $(docker ps -a --filter "until=24h" -q)
- 删特定退出码的容器(比如崩溃退出的):docker ps -a --filter "status=exited" --filter "exited=1" 先预览,确认后再加 rm
补充说明:stop 和 kill 的区别
docker stop 是推荐方式:发 SIGTERM 让进程优雅退出(关闭连接、刷日志等),10 秒后才强制杀;
docker kill 直接发 SIGKILL,跳过清理阶段,仅用于卡死无法响应的容器。