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"]