Docker 环境不一致? 这个 Skill 让你的开发环境跟生产环境 100% 同步

本地跑得好好的,上了服务器就爆炸?

做开发的都懂这个痛——本地 Docker 环境跑得丝滑,一部署到服务器就开始”环境不一致”的经典剧情。要么缺这个库,要么那个权限不对,一排查就是大半天。

OpenHands 出品的 docker Skill 就是来解决这个问题的。它不是一个 Docker 替代品,而是一个教你如何在容器环境里正确跑 Docker 的技能包

核心就一件事:保证所有操作都在容器内部完成,不污染宿主机。本地开发、CI/CD、团队协作——全都共用同一个容器镜像,环境问题从此消失。

这技能怎么工作的

安装之后,当你让 Claude Code 帮你跑 npm installnpm 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

评论区

0 条评论

登录后可评论。

江望 12 阅读