Junior — Middle
Hoe wordt de bouw van Docker-afbeeldingen voor applicaties geschreven in Go uitgevoerd?
sobes.tech AI
Antwoord van AI
Om Docker-afbeeldingen van Go-toepassingen te bouwen, wordt meestal een multi-stage build gebruikt om een minimale en geoptimaliseerde afbeelding te verkrijgen.
Belangrijkste stappen:
- In de eerste fase (builder) wordt een officiële afbeelding met de Go SDK gebruikt, waarin de toepassing wordt gecompileerd.
- In de tweede fase wordt een minimale afbeelding gemaakt (bijvoorbeeld gebaseerd op
scratchofalpine), waarin alleen de gecompileerde binaire wordt gekopieerd.
Voorbeeld Dockerfile:
# Bouwfase
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Minimale eindafbeelding
FROM alpine:latest
RUN apk --no-cache add ca-certificates
COPY --from=builder /app/myapp /usr/local/bin/myapp
ENTRYPOINT ["/usr/local/bin/myapp"]
Deze aanpak vermindert de grootte van de uiteindelijke afbeelding en sluit onnodige tools en bronnen uit.