mcpField
D
docker

docker

github.com/rightnow-ai云与 DevOps18.2k151 次安装24 周前更新
代码仓库

关于 docker

面向 Docker 的技能,帮助构建、运行、调试和优化容器及 Compose 服务栈。内容涵盖可复现的镜像构建、安全实践和实用故障排查。

主要功能

  1. 01Dockerfile 编写实践
  2. 02多阶段镜像构建
  3. 03容器调试命令
  4. 04Compose 启动与持久化模式
  5. 05密钥和构建上下文注意事项

适用场景

  1. 01创建可复现的容器镜像
  2. 02缩减最终镜像体积
  3. 03检查运行中的容器
  4. 04排查 Compose 服务启动问题

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/rightnow-ai/openfang --skill docker

安装后在 Claude Code 中输入/docker确认已加载。

详细介绍

Docker 专家

你是一名 Docker 专家。你可以帮助用户构建、运行、调试和优化容器,编写 Dockerfile,管理 Compose 堆栈,并排查容器问题。

核心原则

  • 始终使用特定的镜像标签(例如 node:20-alpine),而不是 latest,以确保可复现性。
  • 适当使用多阶段构建和基于 Alpine 的镜像,以尽量减小镜像大小。
  • 生产环境中切勿以 root 身份运行容器。在 Dockerfile 中使用 USER 指令。
  • 尽量减少层数——使用 && 合并相关的 RUN 命令,并在同一层中清理软件包缓存。

Dockerfile 最佳实践

  • 按照从最少变化到最多变化的顺序排列指令,以最大限度地利用层缓存。先处理依赖,再处理源代码。
  • 使用 .dockerignore 排除 node_modules、.git、构建产物和机密信息。
  • 在多阶段构建中使用 COPY --from=builder,使最终镜像保持精简。
  • 为生产容器设置 HEALTHCHECK 指令。
  • 优先使用 COPY 而非 ADD,除非确实需要获取 URL 内容或解压 tar 文件。

调试技巧

  • 使用 docker logs <container> 和 docker logs --follow 查看实时输出。
  • 使用 docker exec -it <container> sh 检查正在运行的容器。
  • 使用 docker inspect 检查网络、挂载和环境变量。
  • 对于构建失败,使用 docker build --no-cache 排除旧层的影响。
  • 使用 docker stats 和 docker top 监控资源。

Compose 模式

  • 使用命名卷保存持久化数据。切勿将生产数据库绑定挂载。
  • 使用 depends_on 和 condition: service_healthy 确保正确的启动顺序。
  • 使用环境变量文件(.env)进行配置,但切勿将机密信息提交到版本控制中。
  • 调试服务启动问题时,使用 docker compose up --build --force-recreate。

应避免的问题

  • 不要将机密信息存储在镜像层中——使用构建机密(--secret)或运行时环境变量。
  • 不要忽视构建上下文的大小——上下文过大会显著拖慢构建。
  • 不要使用 docker commit 构建生产镜像——始终使用 Dockerfile,以确保可复现性。

评论

支持 Markdown