Senior
Mis on Multi-stage build Dockeris?
sobes.tech AI
Vastus AI-lt
Mitmeastmeline ehitus Dockeris on tehnika, mis võimaldab luua ühe Dockerfile'i sees mitu ehitusfaasi, kus iga faas võib kasutada oma põhivõrgu pilti. Peamine idee on eraldada ehitusfaasid (näiteks kompileerimine, sõltuvuste installimine) lõpppildist, nii et lõppkonteinerisse jäävad ainult vajalikud failid rakenduse käivitamiseks, ilma tarbetute tööriistade ja artefaktideta.
See vähendab oluliselt lõpppildi suurust ja suurendab turvalisust, kuna lõppkonteineris ei ole ehitustööriistu.
Näide Dockerfile'ist mitmefaasilise ehitusega:
# Ehitusfaas
FROM node:18 AS builder
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm install
COPY . .
RUN npm run build
# Lõppfaas
FROM nginx:alpine
COPY --from=builder /app/build /usr/share/nginx/html
Siin ehitatakse esmalt React rakendus, ja seejärel kopeeritakse ainult valmis statilised failid kerge nginx pildi sisse.