Sobes.tech
Junior — Middle

Vysvetlite koncept viacstupňovej zostavy v Docker a jej výhody.

sobes.tech AI

Odpoveď od AI

Viacstupňová (multi-stage) zostava v Docker umožňuje používať viacero fáz zostavovania v jednom Dockerfile. To znamená, že najskôr môžete zostaviť aplikáciu v kontajneri s potrebnými nástrojmi a závislosťami, a potom skopírovať iba potrebné artefakty do finálneho obrazu, ktorý bude minimálny a ľahký.

Výhody:

  • Zníženie veľkosti finálneho obrazu, pretože sa nezahŕňajú nástroje na zostavovanie a dočasné súbory.
  • Zvýšená bezpečnosť, pretože vo finálnom obraze nie sú zbytočné komponenty.
  • Jednoduchšia údržba a čitateľnosť Dockerfile, pretože všetky kroky sú opísané na jednom mieste.

Príklad pre Go:

# Fáza zostavovania
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

# Finálny obraz
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]