Sobes.tech
Intern

Was ist Multi-Stage-Build in Docker und wozu ist sie nützlich?

sobes.tech KI

Antwort von AI

Mehrstufiger Build in Docker ist eine Methode zur Erstellung von Docker-Images, bei der mehrere Build-Phasen in einer einzigen Dockerfile verwendet werden. In den ersten Phasen wird die Anwendung kompiliert und vorbereitet, und in den letzten wird ein minimales finales Image ohne unnötige Werkzeuge und Quellcode erstellt.

Wozu ist das nützlich?

  • Verringerung der Größe des endgültigen Images, da nur die für den Betrieb notwendigen Dateien enthalten sind.
  • Erhöhung der Sicherheit, da keine Build-Tools und Quellcodes im Image enthalten sind.
  • Vereinfachung des Build-Prozesses, da alle Phasen in einer Dockerfile beschrieben werden.

Beispiel:

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

FROM alpine:latest
COPY --from=builder /app/myapp /usr/local/bin/myapp
CMD ["myapp"]

Hier wird zuerst eine Anwendung in Go gebaut, und dann wird im finalen Image nur der kompilierte Binärdatei kopiert.