SuperAPI AI 工具集

docker-development

部署与运维

查看项目

更新于 10-15 12:40

技能介绍

Docker Development 是一个面向容器开发的智能体技能与插件,定位为“更小的镜像、更快的构建、安全的容器、无需猜测”。它并非 Docker 教程,而是一组关于如何构建不浪费时间、空间和攻击面的容器的具体决策,覆盖 Dockerfile 优化、多阶段构建、compose 编排与安全加固。

用途 该技能用于处理与 Dockerfile、docker-compose、容器、镜像体积、构建缓存、Docker 安全相关的请求。当用户提出“优化这个 Dockerfile”“我的 Docker 构建很慢”“为这个项目创建 docker-compose”“这个 Dockerfile 安全吗”“减小我的 Docker 镜像体积”“设置多阶段构建”“某语言/框架的 Docker 最佳实践”等需求,或用户已有 Dockerfile、希望将某物容器化时,该技能即被激活。

主要能力 技能提供三个斜杠命令:

  • /docker:optimize:分析并优化 Dockerfile 的体积、速度与层缓存。
  • /docker:compose:按最佳实践生成或改进 docker-compose.yml。
  • /docker:security:审计 Dockerfile 或运行中的容器是否存在安全问题。

Dockerfile 优化涵盖:基础镜像使用具体标签而非 :latest、优先 slim/alpine 变体、在 CI 中固定 digest、按运行时需求匹配基础镜像;层优化包括用 && \ 合并相关 RUN 命令、按最少变更优先排序层、在同一 RUN 层清理包管理器缓存、使用 .dockerignore、分离构建依赖与运行时依赖;构建缓存包括先复制依赖文件再复制源码、将依赖安装与代码复制分层、使用 BuildKit 缓存挂载、避免在依赖安装前执行 COPY . .;多阶段构建包括构建阶段使用完整 SDK 与构建工具、运行时阶段使用最小基础镜像、仅复制所需产物、最终镜像不含构建工具与源码及开发依赖。优化后会生成带内联注释的 Dockerfile,并报告预估体积缩减,可用 python3 scripts/dockerfile_analyzer.py Dockerfile 验证。

Compose 配置涵盖:服务识别(应用、数据库、缓存、队列、反向代理);服务最佳实践(depends_on 配合 service_healthy 条件、为每个服务添加健康检查、设置资源限制、使用命名卷持久化数据、固定镜像版本);网络(显式创建网络、分离前后端网络、仅暴露需要外部访问的端口、后端专用网络使用 internal: true);环境(使用 env_file 管理密钥而非内联 environment、不提交 .env、使用变量替换、记录所有必需环境变量);开发与生产区分(使用 compose profiles 或覆盖文件、开发用绑定挂载与调试端口、生产用命名卷且无调试端口并设置 restart: unless-stopped)。输出包含 docker-compose.yml、.env.example 及开发/生产 profile 标注。

安全审计分为 Dockerfile 审计与运行时检查。Dockerfile 审计项包括:以 root 运行(严重)、使用 :latest 标签(高)、在 ENV/ARG 中存放密钥(严重)、宽泛 glob 的 COPY(中)、不必要的 EXPOSE(低)、缺少 HEALTHCHECK(中)、特权指令(高)、保留包管理器缓存(低)。运行时检查项包括:容器以 root 运行(严重)、根文件系统可写(中)、保留全部 capabilities(高)、无资源限制(中)、主机网络模式(高)、敏感挂载(严重)、未配置日志驱动(低)。审计后生成包含严重/高/中/低计数的安全报告及修复建议。

工具

  • scripts/dockerfile_analyzer.py:Dockerfile 静态分析 CLI,支持层数与优化建议、基础镜像分析与体积估算、15+ 条反模式检测、安全问题标记、多阶段构建检测与验证、JSON 与文本输出。用法示例:python3 scripts/dockerfile_analyzer.py Dockerfile;--output json;--security;可指定路径。
  • scripts/compose_validator.py:docker-compose 文件校验 CLI,支持服务依赖校验、健康检查检测、网络配置分析、卷挂载校验、环境变量审计、端口冲突检测、最佳实践评分。用法示例:python3 scripts/compose_validator.py docker-compose.yml;--output json;--strict(警告即失败)。

多阶段构建模式 资料给出三种模式:编译型语言(Go/Rust/C++)使用 golang:1.22-alpine 构建阶段与 distroless/static-debian12 运行时阶段;Node.js/TypeScript 使用 deps、builder、runtime 三阶段,运行时以非 root 用户运行并暴露 3000 端口;Python 使用 python:3.12-slim 构建阶段与运行时阶段,以非 root 用户运行并暴露 8000 端口。

基础镜像决策树 编译型二进制(Go/Rust/C)选 distroless/static 或 scratch;否则若需要 shell 调试选 alpine 变体,不需要则选 distroless;若需要 glibc 选 slim 变体,否则选 alpine;若需要大量特定 OS 包选 debian-slim,少量则 alpine + apk add。

主动触发 技能会在未被要求时标记以下问题:使用 :latest、缺少 .dockerignore、依赖安装前 COPY . .、以 root 运行、ENV/ARG 中的密钥、镜像超过 1GB、缺少健康检查、apt-get 未在同一层清理。

安装 一行安装(任意工具):git clone https://github.com/alirezarezvani/claude-skills.git 后 cp -r claude-skills/engineering/docker-development ~/.claude/skills/。多工具安装:./scripts/convert.sh --skill docker-development --tool codex|gemini|cursor|windsurf|openclaw。OpenClaw:clawhub install cs-docker-development。

相关技能 senior-devops(更广的 DevOps 范围,互补)、senior-security(应用安全,互补)、autoresearch-agent(可将构建时间或镜像体积作为可测量实验优化)、ci-cd-pipeline-builder(流水线构建,互补)。

适用场景与限制 适用于容器化开发、Dockerfile 优化、compose 编排与容器安全审计。资料未提供收费、价格、平台支持范围或具体效果数据,相关事实暂未提供。