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.