mcpField
D
dockerize-and-deploy

dockerize-and-deploy

github.com/rockclaver云与 DevOps047 次安装7 周前更新
代码仓库

关于 dockerize-and-deploy

此技能按阶段指导仓库容器化及部署配置,涵盖 Docker 文件、预检、部署脚本和验证,并强调密钥及生产环境防护。

主要功能

  1. 01审查运行时与现有配置
  2. 02构建多阶段 Dockerfile
  3. 03配置开发和生产 Compose
  4. 04添加预检与部署脚本
  5. 05验证构建和服务健康状态
  6. 06落实容器与密钥安全要求

适用场景

  1. 01为现有仓库容器化
  2. 02配置本地开发服务栈
  3. 03准备生产环境 Compose 部署
  4. 04发布前检查部署条件

安装

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

$npx skills add https://github.com/rockclaver/systemcraft --skill dockerize-and-deploy

安装后在 Claude Code 中输入/dockerize-and-deploy确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

REFERENCE.md
scripts/
deploy.sh
preflight.sh

详细介绍

Docker 化和部署

将代码仓库容器化,并分阶段生成部署配置。

工作流

1. 审查

识别运行时、服务、数据存储、构建步骤、现有 Docker 文件和环境变量。编写前先提出分阶段方案。

2. 阶段
  1. Dockerfile — 使用多阶段构建:构建阶段负责安装/编译,运行阶段仅复制构建产物,使用非 root 用户,固定基础镜像版本(例如 node:20.11-alpine),.dockerignore 排除 node_modules/.env/.git。
  2. docker-compose — 开发环境配置:挂载源代码以支持热重载、开放调试端口、使用命名卷。
  3. 生产环境 compose(docker-compose.prod.yml)— 不挂载源代码,设置 restart: unless-stopped、健康检查、显式卷,以及 mem_limit/cpus 限制。参见 REFERENCE.md。
  4. 部署前检查 — 将 scripts/preflight.sh 复制到项目中;验证环境变量、Docker、端口冲突、数据库连通性,并试运行构建。运行:bash scripts/preflight.sh。
  5. 部署 — scripts/deploy.sh:运行 preflight.sh(失败则中止)→ 拉取/构建镜像 → 运行迁移 → 滚动重启 → 健康检查 → 输出状态。

对于简单的代码仓库,可合并或跳过阶段。

3. 每个阶段完成后进行验证
docker build -t app:test .           # Dockerfile compiles
docker compose config                # compose files are valid YAML
docker compose up -d && docker compose ps  # services start healthy
bash scripts/preflight.sh            # pre-flight passes

注意事项

  • 切勿在 Docker/compose 文件中嵌入密钥。
  • 始终以非 root 用户运行容器。
  • 生产环境中不要使用 latest 镜像标签——请固定版本。
  • 数据库卷只能使用命名卷,切勿使用主机绑定挂载。
  • 如果没有 .env.example,请先创建。

参考资料

  • REFERENCE.md — 卷/健康检查模式、资源限制、按运行时分类的多阶段构建示例、滚动部署策略。

评论

支持 Markdown