Junior — Middle
Ako sa vykonáva zostavenie Docker obrázkov pre aplikácie napísané v Go?
sobes.tech AI
Odpoveď od AI
Za vytváranie Docker obrázkov Go aplikácií sa zvyčajne používa viacstupňová stavba (multi-stage build), aby sa získal minimálny a optimalizovaný obrázok.
Hlavné kroky:
- V prvej fáze (builder) sa používa oficiálny obrázok s Go SDK, kde sa aplikácia skompiluje.
- V druhej fáze sa vytvorí minimálny obrázok (napríklad založený na
scratchaleboalpine), do ktorého sa skopíruje iba skompilovaný binár.
Príklad Dockerfile:
# Fáza zostavenia
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Minimálny finálny obrázok
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 prístup znižuje veľkosť finálneho obrázka a vylučuje zbytočné nástroje a zdroje.