用途:Docker Patterns 汇总容器构建与运行的最佳实践,面向需要编写 Dockerfile 与 Docker Compose 配置的开发者,重点在安全加固与镜像优化。
主要能力:
- 多阶段构建:用 builder 阶段执行 npm ci 与 npm run build,生产阶段仅复制 dist,减小最终镜像。
- 安全实践:创建非 root 用户(addgroup/adduser)并以 USER 切换;推荐 Alpine 等最小基础镜像;用 docker scan 或 trivy image 扫描漏洞。
- 优化:先复制 package*.json 再 npm ci 以利用层缓存;用 .dockerignore 排除 node_modules、.git、.env 等;合并 RUN 指令减少层数。
- Docker Compose:提供开发环境示例,含 app、postgres、redis 服务、卷挂载与 depends_on。
- 健康检查:HEALTHCHECK 指令配合 healthcheck.js 探测 /health 端点。
使用方式:将示例 Dockerfile 与 compose 配置按项目调整后使用;扫描命令保持原样,如 docker scan myapp:latest、trivy image myapp:latest。
适用场景:Node.js 应用的容器化、CI 镜像构建、本地开发环境编排。
限制:资料以 Node.js 示例为主,其他语言需自行适配;未提供具体版本兼容性、性能数据或收费信息。