Sobes.tech
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.