Junior — Middle
Vysvětlete koncept vícestupňové sestavení v Dockeru a jeho výhody.
sobes.tech AI
Odpověď od AI
Vícefázová sestava v Dockeru umožňuje používat více fází sestavení v jednom Dockerfile. To znamená, že nejprve lze sestavit aplikaci v kontejneru s potřebnými nástroji a závislostmi, a poté zkopírovat pouze potřebné artefakty do finálního obrazu, který bude minimální a lehký.
Výhody:
- Zmenšení velikosti finálního obrazu, protože se nezahrnují nástroje pro sestavení a dočasné soubory.
- Zvýšení bezpečnosti, protože ve finálním obraze nejsou zbytečné komponenty.
- Snadnější údržba a čitelnost Dockerfile, protože všechny kroky jsou popsány na jednom místě.
Příklad pro Go:
# Fáze sestavení
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Finální obraz
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]