- arno-article-summary 添加执行后复盘步骤 - arno-docker-clear 添加执行后复盘步骤 - arno-pr 添加执行后复盘步骤 复盘流程包含执行分析、命令评估、改进建议三个环节
135 lines
4.3 KiB
Markdown
135 lines
4.3 KiB
Markdown
---
|
||
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. 如需更新,提出建议并由人类确认
|
||
|
||
如果发现需要改进的地方,给出具体的更新方案(修改内容、位置、原因),由人类用户确认后再执行对命令文件的修改。
|
||
|
||
> **原则**:可改可不改的不改;只提出对执行质量有实质影响的更新建议。 |