Sobes.tech
Junior — Middle

Wie erfolgt der Aufbau von Docker-Images für Anwendungen, die in Go geschrieben sind?

sobes.tech KI

Antwort von AI

Um Images für Go-Anwendungen in Docker werden in der Regel mit einem Multi-Stage-Build erstellt, um ein minimales und optimiertes Image zu erhalten.

Hauptschritte:

  1. Im ersten Schritt (Builder) wird ein offizielles Image mit dem Go SDK verwendet, in dem die Anwendung kompiliert wird.
  2. Im zweiten Schritt wird ein minimales Image (z.B. basierend auf scratch oder alpine) erstellt, in das nur der kompilierte Binärdatei kopiert wird.

Beispiel Dockerfile:

# Build-Phase
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

# Minimales End-Image
FROM alpine:latest
RUN apk --no-cache add ca-certificates
COPY --from=builder /app/myapp /usr/local/bin/myapp
ENTRYPOINT ["/usr/local/bin/myapp"]

Dieser Ansatz verkleinert die Größe des finalen Images und schließt unnötige Tools und Quellcodes aus.