Files
chill_notes/Docker/如何批量删除Docker中已经停止的容器.md
2026-04-21 20:00:16 +08:00

75 lines
1.6 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 批量删除已停止的 Docker 容器
## 方法一:使用 docker ps + awk最常用
```bash
# 查看所有已停止的容器
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}')
```
## 方法二:删除所有未运行的容器
```bash
# 删除所有未运行的容器
sudo docker rm $(sudo docker ps -a -q)
```
## 方法三根据容器状态删除Docker 1.13+
```bash
# 删除所有 Exited 状态的容器
sudo docker rm $(docker ps -qf status=exited)
```
参数说明:
- `-q`:只输出容器 ID
- `status=exited`:筛选已退出的容器
- `status=created`:筛选已创建但未启动的容器
- `status=running`:筛选正在运行的容器
## 方法四docker container pruneDocker 1.13+ 推荐)
```bash
# 删除所有已停止的容器(交互式确认)
docker container prune
# 直接删除,不确认(适合脚本)
docker container prune -f
```
## 方法五:删除所有容器(谨慎使用)
```bash
# 删除所有容器(包括运行中的)
docker rm -f $(docker ps -aq)
# 仅删除已停止的容器
docker container prune -f
```
## 完整流程示例
```bash
# 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` 命令,更简洁安全。