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

4.3 KiB
Raw Blame History

name, description
name description
Docker清理 清理 Docker 镜像构建临时文件和悬空资源

用户输入

$ARGUMENTS

执行前必须处理用户输入(非空时)

参数说明

支持以下参数(可组合使用):

  • cache - 仅清理构建缓存
  • images - 仅清理悬空镜像
  • volumes - 仅清理未使用的卷
  • containers - 额外清理已停止的容器
  • all - 清理默认项目(构建缓存、悬空镜像、未使用的卷)
  • detail详细 - 显示详细清理过程

输出

格式要求

按以下格式输出清理结果:

## 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
    • 显示清理后状态

清理命令参考

# 检查磁盘使用情况
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. 如需更新,提出建议并由人类确认

如果发现需要改进的地方,给出具体的更新方案(修改内容、位置、原因),由人类用户确认后再执行对命令文件的修改。

原则:可改可不改的不改;只提出对执行质量有实质影响的更新建议。