Sobes.tech
Intern

Čo je viacstupňová zostava v Docker a na čo slúži?

sobes.tech AI

Odpoveď od AI

Viacfázová zostava v Docker je metóda na vytváranie Docker obrázkov, ktorá využíva viacero fáz zostavovania v jednom Dockerfile. V prvých fázach sa aplikácia kompiluje a pripravuje, a v posledných sa tvorí minimálny finálny obrázok bez zbytočných nástrojov a zdrojových kódov.

Prečo je to potrebné:

  • Zníženie veľkosti konečného obrázka, pretože do konečného obrázka sa zahrnú iba súbory potrebné na spustenie.
  • Zvýšenie bezpečnosti, pretože do obrázka nie sú zahrnuté nástroje na zostavovanie a zdrojový kód.
  • Zjednodušenie procesu zostavovania, pretože všetky fázy sú opísané v jednom Dockerfile.

Príklad:

FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

FROM alpine:latest
COPY --from=builder /app/myapp /usr/local/bin/myapp
CMD ["myapp"]

Tu sa najskôr zostaví aplikácia v Go, a potom sa v konečnom obrázku skopíruje iba skompilovaný binárny súbor.