该技能用于为 TypeScript/Node.js 应用建立跨开发、测试、生产的一致 Docker 环境,减少“在我机器上能跑”的问题。推荐基础镜像为 node:20-alpine。
适用场景:部署到云平台(AWS、GCP、Azure)、团队统一开发环境、运行 CI/CD 流水线、Kubernetes 部署,以及本地隔离运行 PostgreSQL/Redis。不建议用于简单脚本或 CLI 工具、Serverless 部署和早期原型。
主要能力与用法:提供多阶段 Dockerfile(deps、builder、runner 三阶段),生产阶段以非 root 用户运行,并执行 Prisma 迁移后启动;提供 docker-compose 开发配置,挂载 src 与 prisma 实现热重载,内置 postgres:15-alpine 与 redis:7-alpine 及健康检查;提供 .dockerignore 模板、开发与生产常用命令(如 docker-compose up、docker-compose up --build、docker-compose logs -f app、docker-compose down -v、docker build -t myapp:latest .、docker run -p 3000:3000 --env-file .env.production myapp:latest)、健康检查与 /health 端点示例、环境变量传递方式、镜像瘦身与层缓存优化建议。
规则与限制:生产使用多阶段构建、非 root 用户、.dockerignore、健康检查和固定基础镜像版本;避免 root 运行、在 Dockerfile 中存储密钥、生产使用 latest 标签、把 node_modules 打进镜像。排障提示包括 Prisma client 未生成、权限拒绝、容器立即退出、无法连接数据库、镜像过大等。官方参考为 Docker 与 Docker Compose 文档及 Node.js 镜像页。具体版本细节与计费信息暂未提供。