Sobes.tech
Middle+

Mi az a multi-stage build a Dockerben? Mire jó?

sobes.tech MI

Válasz az MI-től

A Docker több szakaszos buildje lehetővé teszi több építési szakasz használatát egy Dockerfile-ban. Ez segít kompakt és optimalizált képek létrehozásában, elválasztva az alkalmazás építési és végrehajtási szakaszait.

Például az első szakaszban az alkalmazást a szükséges eszközökkel és függőségekkel lehet összerakni, a másodikban pedig csak a fordított artefaktokat másolhatjuk egy minimális képbe, felesleges fájlok és építőeszközök nélkül.

Előnyök:

  • A végső kép méretének csökkentése
  • Biztonság növelése (kevesebb komponens a végső konténerben)
  • Tiszta és könnyű Dockerfile kezelés

Példa:

# Építési szakasz
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

# Végső kép
FROM alpine:latest
COPY --from=builder /app/myapp /usr/local/bin/myapp
CMD ["myapp"]