Files
tech/.claude/commands/arno-docker-clear.md
T
arno 593cef1a96 配置(命令): 添加执行后复盘流程
- arno-article-summary 添加执行后复盘步骤
- arno-docker-clear 添加执行后复盘步骤
- arno-pr 添加执行后复盘步骤

复盘流程包含执行分析、命令评估、改进建议三个环节
2026-05-30 22:01:16 +08:00

135 lines
4.3 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` 参数
- 构建缓存清理后重新构建镜像会需要更多时间
- 删除的镜像和卷无法恢复,请谨慎操作
- 建议定期清理以保持系统整洁
- 显示可回收空间不代表实际释放空间,可能因层共享而不同
## 执行后复盘
每次执行本命令后,必须完成以下步骤:
### 1. 分析执行过程
分析本次执行过程的优点和缺点:
- **优点**:哪些步骤/设计执行顺畅、达到预期效果?
- **缺点**:哪些步骤/设计存在问题或可改进之处?
### 2. 评估是否需要更新命令
基于上述分析,判断当前命令是否需要更新。如果执行顺利无问题,注明"当前命令无需更新"。
### 3. 如需更新,提出建议并由人类确认
如果发现需要改进的地方,给出具体的更新方案(修改内容、位置、原因),由人类用户确认后再执行对命令文件的修改。
> **原则**:可改可不改的不改;只提出对执行质量有实质影响的更新建议。