Senior
Docker'da Çok Aşamalı Derleme nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Docker'da çok aşamalı derleme, tek bir Dockerfile'da birden fazla derleme aşaması oluşturmayı sağlayan bir tekniktir; burada her aşama kendi temel görüntüsünü kullanabilir. Ana fikir, derleme aşamalarını (örneğin, derleme, bağımlılıkların kurulumu) son görüntüden ayırmaktır; böylece son konteynerde yalnızca uygulamayı çalıştırmak için gereken dosyalar bulunur, gereksiz araçlar ve artefaktlar olmadan.
Bu, son görüntünün boyutunu önemli ölçüde azaltır ve güvenliği artırır, çünkü son konteynerde derleme araçları bulunmaz.
Multi-stage build içeren bir Dockerfile örneği:
# Derleme aşaması
FROM node:18 AS builder
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm install
COPY . .
RUN npm run build
# Son aşama
FROM nginx:alpine
COPY --from=builder /app/build /usr/share/nginx/html
Burada önce React uygulaması derlenir, ardından sadece hazır statik dosyalar hafif nginx görüntüsüne kopyalanır.