FROM golang:1.22-alpine AS builder\nWORKDIR /app\nCOPY go.mod go.sum ./\nRUN go mod download\nCOPY . .\nRUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o server .\n\nFROM gcr.io/distroless/static-debian12\nCOPY --from=builder /app/server /server\nUSER nonroot:nonroot\nEXPOSE 8080\nENTRYPOINT ["/server"]
要点:多阶段构建(镜像从 800MB 降到 12MB)、distroless 基础镜像、非 root 运行、静态编译。