1.6 KiB
Executable File
1.6 KiB
Executable File
批量删除已停止的 Docker 容器
方法一:使用 docker ps + awk(最常用)
# 查看所有已停止的容器
sudo docker ps -a | grep Exited
# 获取已停止容器的 ID
sudo docker ps -a | grep Exited | awk '{print $1}'
# 批量删除已停止容器
sudo docker rm $(docker ps -a | grep Exited | awk '{print $1}')
方法二:删除所有未运行的容器
# 删除所有未运行的容器
sudo docker rm $(sudo docker ps -a -q)
方法三:根据容器状态删除(Docker 1.13+)
# 删除所有 Exited 状态的容器
sudo docker rm $(docker ps -qf status=exited)
参数说明:
-q:只输出容器 IDstatus=exited:筛选已退出的容器status=created:筛选已创建但未启动的容器status=running:筛选正在运行的容器
方法四:docker container prune(Docker 1.13+ 推荐)
# 删除所有已停止的容器(交互式确认)
docker container prune
# 直接删除,不确认(适合脚本)
docker container prune -f
方法五:删除所有容器(谨慎使用)
# 删除所有容器(包括运行中的)
docker rm -f $(docker ps -aq)
# 仅删除已停止的容器
docker container prune -f
完整流程示例
# 1. 查看当前容器状态
docker ps -a
# 2. 统计已停止容器数量
docker ps -a | grep Exited | wc -l
# 3. 批量删除已停止容器
docker rm $(docker ps -aq -f status=exited)
# 4. 确认删除结果
docker ps -a
Docker 1.13+ 版本建议使用
docker container prune命令,更简洁安全。