用途:面向 Go Gin API 的容器化与部署,覆盖多阶段 Docker 构建、docker-compose 本地开发、Kubernetes 部署、健康检查、12-Factor 配置与 CI/CD 流水线。
主要能力:多阶段 Dockerfile(golang:1.24-bookworm 构建,gcr.io/distroless/static-debian12:nonroot 运行,CGO_ENABLED=0,TARGETARCH 多平台,-ldflags="-s -w" -trimpath 精简体积);健康检查(DBPinger 接口、2 秒 DB ping 超时、不可达返回 503,/health/live 与 /health/ready 区分存活与就绪);12-Factor 配置(环境变量读取,DATABASE_URL、JWT_SECRET 缺失即启动失败,默认 PORT=8080、GIN_MODE=release);docker-compose(depends_on 配合 service_healthy);Kubernetes 清单、探针、HPA、Ingress、Helm 与 GitHub Actions CI/CD;OpenTelemetry 可观测性参考。
使用方式:按需查阅 references 下的配置与健康、Dockerfile、docker-compose、Kubernetes、可观测性等参考文件;.dockerignore 排除 .git、.env、*.md、docs/、plans/ 以防密钥泄漏。
适用场景:首次 Docker 化 Gin 应用、搭建本地开发环境(app + postgres + redis)、部署到 K8s、配置健康检查与探针、设置 CI/CD。
限制:不处理应用代码、认证、数据库查询与测试(分别见 golang-gin-api、golang-gin-auth、golang-gin-database、golang-gin-testing);具体命令与完整示例需查阅对应参考文件,本资料未提供完整代码。