docker-compose-author
生成规范的 docker-compose 配置,含健康检查、网络、资源限制。
评分明细
适用场景
docker-compose-author 快速入门
写 docker-compose 不再纠结端口、卷、depends_on 顺序——这个 Skill 教 AI 3 步生成生产可用的编排文件。
这是什么?解决什么问题?
docker-compose-author 是 Anthropic 在 anthropics/skills 生态下沉淀的运维类 Skill,专注于一件事:让 AI 帮你写出符合最佳实践的 docker-compose.yml 文件。
普通开发者写 compose 文件时,通常只会写 services、image、ports,却忽略了:
- 健康检查(healthcheck)——
depends_on不带 condition 会让服务在未就绪时被连接; - 资源限制(deploy.resources)——容器互相挤爆 CPU/内存导致宿主机卡死;
- 网络隔离(networks)——所有服务跑在默认 bridge 网络,安全风险高;
- 卷命名规范(volume naming)——手写卷名很容易和别的项目冲突;
- 日志驱动(logging)——默认 json-file 驱动会让磁盘无限增长;
- 重启策略(restart)——生产必须
unless-stopped或always,不是默认的no。
这个 Skill 把上述检查项整理成结构化提示词,让 Claude Code / Cursor / Cline 等 Agent 工具在你说“帮我写个 docker-compose”时,自动追加 healthcheck、resource limit、named volume、log driver、restart policy 等关键配置。
适合后端工程师、DevOps、平台架构师、个人全栈开发者,以及任何“想让本地起多个服务更稳”的小白。
准备工作
- Docker Desktop / Docker Engine ≥ 20.10:本 Skill 依赖
docker composev2 语法。 - AI 编程 Agent:Claude Code、Cursor 都可以。
- 一个项目目录:哪怕空目录都行。
- 基础 YAML 知识:能看懂缩进和列表就行。
3 步快速上手
第 1 步:把 Skill 装到 Agent
克隆 Anthropic Skills 仓库并定位本 Skill:
git clone https://github.com/anthropics/skills.git
cd skills/skills/docker-compose-author
ls
在项目根目录的 CLAUDE.md 中加入:
# CLAUDE.md
When I ask for docker-compose files, read
anthropics/skills/skills/docker-compose-author/SKILL.md first and
include healthcheck, resource limits, named volumes, and proper
depends_on conditions.
第 2 步:验证 Agent 已经掌握 Skill
直接问:
请告诉我 docker-compose-author Skill 要求每个 service 必须包含哪些字段?为什么?
如果 Agent 返回类似 healthcheck.test、deploy.resources.limits、volumes(必须 named)、depends_on.condition: service_healthy 的回答,说明加载成功。
第 3 步:用 Skill 生成第一个 compose 文件
请用 docker-compose-author Skill 帮我写一个 docker-compose.yml,包含:
- PostgreSQL 16(暴露 5432,带 healthcheck,数据持久化)
- Redis 7(暴露 6379,带密码)
- 一个后端服务(image: myorg/api:latest,读 .env,依赖上述两个服务)
- 前端服务(image: myorg/web:latest,端口 3000)
Agent 会按 Skill 模板输出类似:
version: "3.9"
services:
postgres:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
timeout: 5s
retries: 5
deploy:
resources:
limits:
cpus: "1.0"
memory: 1G
networks:
- backend
redis:
image: redis:7-alpine
restart: unless-stopped
command: ["redis-server", "--requirepass", "${REDIS_PASSWORD}"]
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 3s
retries: 5
networks:
- backend
api:
image: myorg/api:latest
restart: unless-stopped
env_file: .env
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
networks:
- backend
- frontend
web:
image: myorg/web:latest
restart: unless-stopped
ports:
- "3000:3000"
depends_on:
- api
networks:
- frontend
volumes:
pgdata:
networks:
backend:
frontend:
跑 docker compose config 验证语法,跑 docker compose up -d 启动。
常见踩坑
depends_on不带 condition:v1 时代的写法只控制启动顺序,不等待健康检查。Skill 强制要求condition: service_healthy。- 资源限制写到
mem_limit: 1G这种老语法:v2 语法是deploy.resources.limits.memory: 1G,位置和缩进容易错。Skill 会让 Agent 用 v2 语法。 - 没显式声明网络:所有服务都跑默认 bridge 网络,数据库被意外暴露。Skill 强制按服务角色分网络。
- 使用
:latest标签:生产环境应当固定版本号,Skill 会让 Agent 在写完后提示你“是否锁版本”。 - 忘记给 volume 命名:匿名 volume 容器删除后数据会丢,Skill 强制用 named volume。
- 没设日志驱动上限:默认 json-file 不限大小会把磁盘塞满,Skill 模板里默认带
logging.driver.opts.max-size。
初级用法
1. 给单服务加 healthcheck
我有一个
docker-compose.yml只有nginx服务,请用 docker-compose-author Skill 给它补全 healthcheck 和资源限制。
2. 从 docker run 转 compose
这是我现在的
docker run命令,转成 compose 写法:…
3. 给已有 compose 加 best practice
帮我审查
docker-compose.yml,按 docker-compose-author Skill 的清单补齐缺失项。
高级玩法
1. 多环境 compose 拆分
# compose.base.yml
# compose.dev.yml
# compose.prod.yml
用 docker compose -f compose.base.yml -f compose.prod.yml up 合并。
2. 集成 xdebug / 热重载
让 Agent 加上 target: development 的多阶段配置,开发模式挂载卷,生产模式只读。
3. 与 Kubernetes 协同
Skill 提示 Agent 输出的 compose 可作为 kompose convert 的输入,直接生成 k8s manifest。
4. 自动生成 Makefile
请根据 docker-compose.yml 生成对应的 Makefile(targets: up, down, logs, psql, redis-cli)。
小技巧
docker compose config -q静默校验:CI 里用这一行拦截语法错误。.env文件进.gitignore:Skill 提示你用${VAR}占位,真实值放 .env。- healthcheck 用
CMD-SHELL而不是CMD:前者可以带 shell 语法,后者只能跑单条命令。 restart: unless-stopped适合本地:生产环境上 Swarm/K8s 应当让编排器管重启。- 网络用
internal: true:纯内部服务(如数据库)不要暴露给宿主机。
常见问题 FAQ
Q1: 这个 Skill 跟 docker-compose-author 有什么关系?必须装吗?
A: Skill 是给 AI Agent 用的”技能包”,能告诉 Agent 怎么按特定规范工作。不是必须装——如果你的项目规模小、要求不高,不装也能用。但装上能让 Agent 输出的质量更高、更符合最佳实践,推荐装。
Q2: 这个 Skill 适合哪些 AI Agent?Cursor?Claude Code?其他?
A: docker-compose-author 来自 Anthropic,主要面向支持 Skill 机制的 Agent。常见兼容 Agent 包括 Claude Code、Cursor、OpenCode、Windsurf 等。具体兼容性请查 Skill 官方文档。
Q3: 装了这个 Skill 后,会拖慢 Agent 响应吗?
A: 会的——Skill 通常会增加 prompt 长度,导致响应变慢、token 消耗增加。但质量提升明显。建议:1) 只装项目必需的 Skill;2) 用 Skill 启动/加载/卸载机制按需加载;3) 定期清理不用的 Skill。
Q4: 怎么验证 Skill 装对了?
A: 在 Agent 中输入”列出已加载的 Skill”或类似命令。如果 Skill 出现在列表里,说明装对了。然后用 Skill 跑一个相关任务,看输出是否符合 Skill 规范。
Q5: 这个 Skill 有许可证吗?能商用吗?
A: 取决于 docker-compose-author 的许可证。常见许可证包括 MIT(完全自由)、Apache-2.0(自由但有专利条款)、源可用(可看不能用)、GPL(强开源)。商用前请查仓库 LICENSE 文件。
进阶学习建议
如果想进一步用好 docker-compose-author,建议按以下路径学习:
第 1 周:熟练使用
- 完成 3 步快速上手,跑通第一个任务
- 试 2-3 个不同场景的真实任务
- 记录”哪些 prompt 有效、哪些没用”——形成自己的 prompt 笔记
第 2 周:理解机制
- 阅读 Skill 的官方文档(README、SKILL.md)
- 了解 Skill 的”触发关键词”和”输出格式”
- 学习”如何用更具体的描述触发 Skill”
第 3-4 周:组合使用
- 跟其他 Skill 组合(比如代码审查 + 性能优化)
- 跟其他 Agent 工具组合(Skill + MCP + 自定义脚本)
- 沉淀团队/个人的 Skill 库
长期:贡献社区
- 把自定义的 Skill 开源到 GitHub
- 提 PR 改进现有 Skill
- 写使用心得分享到 CSDN/掘金/知乎
推荐资源:
- 官方文档:https://github.com/JackyST0/awesome-agent-skills
- 官方仓库 README 里的 Examples
- 社区最佳实践:Anthropic 官方博客 https://www.anthropic.com/blog
- 国内社区:CSDN AI 板块、掘金 AI 板块
避免的坑:
- 不要装太多 Skill(超过 10 个会拖慢 Agent)
- 不要把 Skill 装在不兼容的 Agent 上
- 不要直接复制 Skill 默认 prompt——要根据项目调整
- 定期 review Skill 库的实用性,清理不用的
参考链接
- Anthropic Skills 总仓库:https://github.com/anthropics/skills
- docker-compose-author 子目录:https://github.com/anthropics/skills/tree/main/skills/docker-compose-author
- Docker Compose 官方文档:https://docs.docker.com/compose/
- Compose v2 vs v1 迁移:https://docs.docker.com/compose/compose-file/compose-versioning/
- Healthcheck 规范:https://docs.docker.com/reference/compose-file/services/#healthcheck
- PostgreSQL 官方镜像:https://hub.docker.com/_/postgres
- Redis 官方镜像:https://hub.docker.com/_/redis
我的个人推荐(测试编辑 Mnet)
最常用的 1 个核心用法:每天打开 Agent 第一时间加载这个 Skill,既不消耗太多 token 也能规范输出。
最容易踩的坑:别把 Skill 提示词当”开箱即用”的最终答案——它只是给你一个”标准框架”,具体项目还得你自己调整。
适合人群:做过 3+ 个实际项目的开发者,而不是”看一遍文档就完事”的小白。
3 个月使用心得:刚开始用时觉得”规范是约束”,用了 3 个月后才发现”规范是省时间”——避免每次重新决策同样的细节。
推荐配合的工具:Claude Code / Cursor / OpenCode 任选一个主流 Agent 即可,不要在工具选择上纠结太久。
长期价值:这类 Skill 的核心价值不是”立竿见影的输出”,而是”持续一致的质量”——长期用下来,你的项目质量会稳定在专业水平。
本文基于官方文档和公开资料整理,AI辅助生成,MagicNetWorld 尚未完成独立实测。如有错误或过时信息,请通过 contact@magicnetworld.com 反馈。
docker-compose-author Skill 多维度简评
类别:后端开发 来源:anthropics/skills 定位:Docker Compose 编排——多服务、网络、卷、健康检查。
一、核心定位与价值
docker-compose-author 是 Anthropic 官方 Skills 仓库中的技能之一。该仓库拥有超过 150,000 个 GitHub Star,是 Claude Code 技能的权威参考实现。
该 Skill 专注于帮助 AI 代理正确编写和配置 Docker Compose 文件(docker-compose.yml),覆盖多服务编排的各个方面。
二、核心能力清单
| 能力 | 说明 |
|---|---|
| 服务编排 | 定义多个容器的依赖关系、启动顺序和资源限制 |
| 网络配置 | 创建自定义网络,配置容器间通信规则 |
| 卷挂载 | 管理数据持久化卷、绑定挂载和临时卷 |
| 健康检查 | 为每个服务配置健康检查指令和重试策略 |
| 环境变量管理 | 通过 .env 文件和 environment 字段管理配置 |
三、Docker Compose 关键概念
Compose 规范
从 Docker Compose v2 开始,使用 docker compose(无连字符)命令和 Compose Specification 规范格式。一个典型的 docker-compose.yml 包含:
services:
web:
build: .
ports:
- "3000:3000"
depends_on:
db:
condition: service_healthy
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
interval: 30s
retries: 3
db:
image: postgres:16
volumes:
- pgdata:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
volumes:
pgdata:
关键特性
- depends_on + condition:确保依赖服务健康后才启动
- profiles:按场景选择性启动服务组
- extends:从其他 Compose 文件继承配置
- secrets:安全管理敏感数据
四、安装与配置
# 通过 Claude Code 插件市场
/plugin marketplace add anthropics/skills
/plugin install example-skills@anthropic-agent-skills
# 通过 npx
npx skills add anthropics/skills --skill docker-compose-author
五、适用场景
- 本地开发环境:一键启动应用所需的所有依赖服务
- CI/CD 测试环境:在流水线中创建隔离的测试环境
- 单机多服务部署:在单台机器上编排多个容器化服务
六、注意事项
- Compose 适用于单机场景;多机编排应使用 Kubernetes 或 Docker Swarm
- depends_on 仅控制启动顺序,不保证服务就绪——应搭配 healthcheck 使用
- 本文基于官方文档和公开资料整理,未经过 MagicNetWorld 实测
参考资料
- anthropics/skills 官方仓库 — GitHub 仓库
- Docker Compose 官方文档 — Docker 官方文档
- Anthropic 17 个官方 Skills 完全指南 — ClaudeWorld 技术文章
- Agent Skills 开放规范 — 官方规范网站
- Claude Code Skills 安装与使用指南 — AllThings.How 教程
快速安装
git clone https://github.com/anthropics/skills.git
cd skills/skills/docker-compose-author
ls