Cloud Fortgeschritten
Multi-Stage Docker Builds¶
DockerMulti-stageBuild 3 Min. Lesezeit
Optimierung von Docker-Images mit Multi-Stage Builds. Kleinere Images, sicherere Produktion.
Prinzip¶
Ein Dockerfile, mehrere FROM-Anweisungen. Build-Dependencies bleiben im Build-Stage, ins finale Image kommt nur die Runtime.
Go-Beispiel¶
# Build — 1.2 GB
FROM golang:1.22 AS builder
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 go build -o server .
# Runtime — 15 MB!
FROM alpine:3.19
RUN apk add --no-cache ca-certificates
COPY --from=builder /app/server /server
USER nobody
ENTRYPOINT ["/server"]
Rust-Beispiel¶
FROM rust:1.76 AS builder
WORKDIR /app
COPY . .
RUN cargo build --release
FROM debian:bookworm-slim
COPY --from=builder /app/target/release/myapp /usr/local/bin/
CMD ["myapp"]
Zusammenfassung¶
Multi-Stage = dramatische Verkleinerung der Images. Go: 1,2 GB → 15 MB. Node: 1 GB → 150 MB. Immer verwenden.
Brauchen Sie Hilfe bei der Implementierung?¶
Unser Team hat Erfahrung mit dem Entwurf und der Implementierung moderner Architekturen. Wir helfen Ihnen gerne.