Senior
Docker-də çox mərhələli quruluş nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Docker-da çox mərhələli quruluş, tək Dockerfile-də bir neçə quruluş mərhələsi yaratmağa imkan verən texnikadır; burada hər mərhələ öz əsas görüntüsünü istifadə edə bilər. Əsas fikir, quruluş mərhələlərini (məsələn, tərtibat, asılılıqları quraşdırma) son görüntüdən ayırmaqdır ki, nəticədə konteynerə yalnız tətbiqin işləməsi üçün lazım olan fayllar daxil edilir, artıq alətlər və artefaktlar olmadan.
Bu, nəticə görüntüsünün ölçüsünü əhəmiyyətli dərəcədə azaldır və təhlükəsizliyi artırır, çünki son konteynerdə quruluş alətləri yoxdur.
Multi-stage build ilə Dockerfile nümunəsi:
# Quruluş mərhələsi
FROM node:18 AS builder
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm install
COPY . .
RUN npm run build
# Son mərhələ
FROM nginx:alpine
COPY --from=builder /app/build /usr/share/nginx/html
Burada əvvəlcə React tətbiqi qurulur, sonra isə yalnız hazır statik fayllar yüngül nginx görüntüsünə kopyalanır.