Docker 环境不一致? 这个 Skill 让你的开发环境跟生产环境 100% 同步
本地跑得好好的,上了服务器就爆炸?
做开发的都懂这个痛——本地 Docker 环境跑得丝滑,一部署到服务器就开始”环境不一致”的经典剧情。要么缺这个库,要么那个权限不对,一排查就是大半天。
OpenHands 出品的 docker Skill 就是来解决这个问题的。它不是一个 Docker 替代品,而是一个教你如何在容器环境里正确跑 Docker 的技能包。
核心就一件事:保证所有操作都在容器内部完成,不污染宿主机。本地开发、CI/CD、团队协作——全都共用同一个容器镜像,环境问题从此消失。
这技能怎么工作的
安装之后,当你让 Claude Code 帮你跑 npm install、npm test 或者构建镜像时,Agent 会自动把命令封装成 docker exec 在容器里执行——而不是直接在宿主机上跑。
它还会做几件很贴心的事:
- 第一次自动检测:判断 Docker 环境是否就绪,没启动的帮你拉起 daemon
- Native 模块判断:自动识别你的项目用的是 Alpine 还是 Slim 镜像,避免 glibc 不兼容的坑
- Preflight 检查:执行命令前先确认容器状态,避免在停掉的容器里白跑
- 配置持久化:每个项目可以有自己的
.claude/docker-config.json,不同项目用不同容器,互不干扰
快速上手
安装很简单:
git clone https://github.com/OpenHands/extensions.git ~/.claude/skills/docker
然后在项目根目录建一个配置文件:
{
"containerName": "my-project-dev-1",
"baseImage": "node:20-slim",
"port": 3000,
"hasNativeModules": true
}
之后直接让 Claude 干活就行——它会自动在容器里执行所有操作。
什么场景用它最值
团队开发环境统一:新成员 clone 项目后不需要手动配环境,装好 Docker 就能跑。
避免 global 污染:很多项目全局装了各种 CLI 工具,互相冲突。容器里跑就没这个问题。
Native 模块项目:用了 sqlite、sharp、bcrypt 这类 native 模块的项目,在 Slim 镜像里跑最稳。
当然,如果你的项目是纯 JavaScript/TypeScript,没有任何 native 依赖,用 Alpine 镜像更轻量。
一句话总结
docker Skill 把”在容器里开发”这件事变得透明——你只管写代码,Claude 自动保证所有构建、测试、运行都在容器里完成。本地能跑,服务器也能跑,这才是真正的可复现。
GitHub 星 135 个,由 OpenHands 维护,质量有保障。开发者值得一试。
https://github.com/OpenHands/extensions/tree/main/skills/docker
GitHub: https://github.com/OpenHands/extensions/tree/main/skills/docker
评论区
登录后可评论。