Update from Sync Service
This commit is contained in:
74
Docker/批量删除已停止容器.md
Executable file
74
Docker/批量删除已停止容器.md
Executable file
@@ -0,0 +1,74 @@
|
||||
# 批量删除已停止的 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 prune(Docker 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` 命令,更简洁安全。
|
||||
Reference in New Issue
Block a user