Junior — Middle
Jak se provádí sestavení Docker obrazů pro aplikace napsané v Go?
sobes.tech AI
Odpověď od AI
Pro sestavení Docker obrázků Go aplikací se obvykle používá vícestupňová stavba (multi-stage build), aby bylo možné získat minimální a optimalizovaný obraz.
Hlavní kroky:
- V první fázi (builder) se používá oficiální obraz s Go SDK, kde se aplikace kompiluje.
- Ve druhé fázi se vytvoří minimální obraz (například založený na
scratchneboalpine), do kterého se zkopíruje pouze zkompilovaný binární soubor.
Příklad Dockerfile:
# Fáze sestavení
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Minimální finální obraz
FROM alpine:latest
RUN apk --no-cache add ca-certificates
COPY --from=builder /app/myapp /usr/local/bin/myapp
ENTRYPOINT ["/usr/local/bin/myapp"]
Tento přístup snižuje velikost finálního obrazu a vylučuje zbytečné nástroje a zdroje.