关于 dockerize-and-deploy
此技能按阶段指导仓库容器化及部署配置,涵盖 Docker 文件、预检、部署脚本和验证,并强调密钥及生产环境防护。
主要功能
- 01审查运行时与现有配置
- 02构建多阶段 Dockerfile
- 03配置开发和生产 Compose
- 04添加预检与部署脚本
- 05验证构建和服务健康状态
- 06落实容器与密钥安全要求
适用场景
- 01为现有仓库容器化
- 02配置本地开发服务栈
- 03准备生产环境 Compose 部署
- 04发布前检查部署条件
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ rockclaver/ systemcraft --skill dockerize-and-deploy安装后在 Claude Code 中输入/dockerize-and-deploy确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
REFERENCE.mdscripts/deploy.shpreflight.sh详细介绍
Docker 化和部署
将代码仓库容器化,并分阶段生成部署配置。
工作流
1. 审查
识别运行时、服务、数据存储、构建步骤、现有 Docker 文件和环境变量。编写前先提出分阶段方案。
2. 阶段
- Dockerfile — 使用多阶段构建:构建阶段负责安装/编译,运行阶段仅复制构建产物,使用非 root 用户,固定基础镜像版本(例如
node:20.11-alpine),.dockerignore排除node_modules/.env/.git。 - docker-compose — 开发环境配置:挂载源代码以支持热重载、开放调试端口、使用命名卷。
- 生产环境 compose(
docker-compose.prod.yml)— 不挂载源代码,设置restart: unless-stopped、健康检查、显式卷,以及mem_limit/cpus限制。参见 REFERENCE.md。 - 部署前检查 — 将
scripts/preflight.sh复制到项目中;验证环境变量、Docker、端口冲突、数据库连通性,并试运行构建。运行:bash scripts/preflight.sh。 - 部署 —
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