分享一个生产级 Dockerfile 模板(多阶段构建 + 非 root 用户)

Docker/K8s 1388 浏览 2 回复 2026-09-03 23:12
👍121
⭐收藏
云原生小分队 楼主 Lv6 ・内蒙古
2026-09-03 23:12 1388 阅读 2 回复
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 运行、静态编译。

回复 👍 8
全部回复 2 条
运维老王 ・中国台湾

收藏了。distroless 唯一的问题是没 shell,排查时不方便,可以用 busybox 版本。

Lv7 2026-09-04 01:44 2 楼
回复 👍 85
安全小白帽 ・中国台湾

安全角度点赞,非 root + 无 shell 能挡住大部分容器逃逸后的操作。

Lv6 2026-09-04 02:59 3 楼
回复 👍 51
发表回复
登录 后参与回复