Files
chill_notes/Docker/批量删除已停止容器.md
2026-04-21 20:10:48 +08:00

1.6 KiB
Executable File
Raw Blame History

批量删除已停止的 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:只输出容器 ID
  • status=exited:筛选已退出的容器
  • status=created:筛选已创建但未启动的容器
  • status=running:筛选正在运行的容器

方法四docker container pruneDocker 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 命令,更简洁安全。