Files
team/.claude/commands/isos-docker-clear.md
T
2026-04-19 21:47:08 +08:00

115 lines
3.6 KiB
Markdown
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.
---
name: Docker清理
description: 清理 Docker 镜像构建临时文件和悬空资源
---
## 用户输入
```text
$ARGUMENTS
```
执行前**必须**处理用户输入(非空时)
## 参数说明
支持以下参数(可组合使用):
- `cache` - 仅清理构建缓存
- `images` - 仅清理悬空镜像
- `volumes` - 仅清理未使用的卷
- `containers` - 额外清理已停止的容器
- `all` - 清理默认项目(构建缓存、悬空镜像、未使用的卷)
- `detail``详细` - 显示详细清理过程
## 输出
### 格式要求
按以下格式输出清理结果:
```markdown
## Docker 清理报告
### 清理前状态
| 类型 | 总量 | 活跃 | 占用空间 | 可回收 |
|------|------|------|----------|--------|
| **镜像** | {数量} | {数量} | {大小} | {大小} ({百分比}%) |
| **容器** | {数量} | {数量} | {大小} | {大小} ({百分比}%) |
| **本地卷** | {数量} | {数量} | {大小} | {大小} ({百分比}%) |
| **构建缓存** | {数量} | {数量} | {大小} | {大小} |
### 清理内容
执行以下清理:
- **构建缓存**:{清理的缓存大小}
- **悬空镜像**:{删除的镜像数量} 个
- **未使用的卷**:{清理的卷大小}
{如果用户指定了 `containers` 参数,则添加:
- **已停止的容器**:{删除的容器数量} 个
}
### 清理后状态
| 类型 | 总量 | 活跃 | 占用空间 | 可回收 |
|------|------|------|----------|--------|
| **镜像** | {数量} | {数量} | {大小} | {大小} ({百分比}%) |
| **容器** | {数量} | {数量} | {大小} | {大小} ({百分比}%) |
| **本地卷** | {数量} | {数量} | {大小} | {大小} ({百分比}%) |
| **构建缓存** | {数量} | {数量} | {大小} | {大小} |
### 清理总结
**释放空间总计:约 {总大小}**
{根据清理结果给出建议}
```
### 执行规则
1. **默认行为** - 无参数时,仅清理构建缓存(不清理悬空镜像、未使用的卷、容器)
2. **选择性清理** - 根据 $ARGUMENTS 中的参数执行对应清理
3. **容器清理** - 仅当用户明确指定 `containers` 参数时才清理已停止的容器
4. **详细模式** - 当 $ARGUMENTS 包含 "detail" 或 "详细" 时,显示详细的清理过程
5. **安全检查** - 清理前先检查 Docker 状态,确认可清理内容
6. **执行顺序** - 按以下顺序执行:
- 检查当前状态(`docker system df`
- 清理构建缓存(`docker builder prune -a -f`
- {如果指定了 `images` 参数} 清理悬空镜像(`docker image prune -f`
- {如果指定了 `volumes` 参数} 清理未使用的卷(`docker volume prune -f`
- {如果指定了 `containers` 参数} 清理已停止的容器(`docker container prune -f`
- 显示清理后状态
### 清理命令参考
```bash
# 检查磁盘使用情况
docker system df
# 清理构建缓存(默认执行)
docker builder prune -a -f
# 清理悬空镜像(需要明确指定)
docker image prune -f
# 清理未使用的卷(需要明确指定)
docker volume prune -f
# 清理已停止的容器(需要明确指定)
docker container prune -f
# 一次性清理所有未使用资源(包括容器,不推荐使用)
docker system prune -a -f --volumes
```
### 注意事项
- **默认不清理容器**:已停止的容器不会在默认清理中删除,需明确指定 `containers` 参数
- 构建缓存清理后重新构建镜像会需要更多时间
- 删除的镜像和卷无法恢复,请谨慎操作
- 建议定期清理以保持系统整洁
- 显示可回收空间不代表实际释放空间,可能因层共享而不同