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