Первый stage — сборка: FROM golang:1.22 AS builder, копируешь go.mod, делаешь go mod download, копируешь код и go build с CGO_ENABLED=0. Второй stage — runtime: FROM scratch или alpine, копируешь бинарник из builder. Результат — образ 10-20 МБ вместо 1+ ГБ. scratch даёт минимальный размер, но alpine удобнее для дебага (есть sh). Не забудь скопировать CA сертификаты если нужен HTTPS.
Как организовать multi-stage Dockerfile для Go?
Middle
268 просмотровAFK Offer AI
Что такое struct tags для валидации?