Sobes.tech
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:

  1. In de eerste fase (builder) wordt een officiële afbeelding met de Go SDK gebruikt, waarin de toepassing wordt gecompileerd.
  2. In de tweede fase wordt een minimale afbeelding gemaakt (bijvoorbeeld gebaseerd op scratch of alpine), 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.