Junior — Middle
Hogyan valósítja meg egy konténer kép több lépéses építését?
sobes.tech MI
Válasz az MI-től
A Docker több szakaszos építése (multi-stage build) lehetővé teszi több építési szakasz létrehozását egy Dockerfile-ban, ami segít csökkenteni a végső kép méretét, és elkülöníteni a fordítási szakaszokat a futtatási szakasztól.
A fő ötlet több FROM utasítás használata egy Dockerfile-ban, ahol minden szakasz használhatja az előző szakasz artefaktjait.
Példa:
# Építési szakasz
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Végső kép szakasz
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]
Itt először a Go alkalmazás épül, majd a végső képen csak a fordított bináris kerül másolásra, a forrásfájlok és az építőeszközök nélkül.