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:
- Im ersten Schritt (Builder) wird ein offizielles Image mit dem Go SDK verwendet, in dem die Anwendung kompiliert wird.
- Im zweiten Schritt wird ein minimales Image (z.B. basierend auf
scratchoderalpine) 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.