Sobes.tech
Junior — Middle

Docker'da çok aşamalı derleme kavramını ve avantajlarını açıklayın.

sobes.tech yapay zeka

AI'dan gelen yanıt

Docker'da çok aşamalı derleme, tek bir Dockerfile'da birden fazla derleme aşaması kullanmaya olanak tanır. Bu, önce uygulamayı gerekli araçlar ve bağımlılıklarla bir konteynerde derleyip, ardından yalnızca gerekli artefaktları son imaja kopyalayabileceğiniz anlamına gelir; bu imaj minimal ve hafif olur.

Avantajlar:

  • Derleme araçları ve geçici dosyalar dahil edilmediği için nihai imajın boyutunun küçülmesi.
  • Güvenliğin artırılması, çünkü final imajında gereksiz bileşenler bulunmaz.
  • Dockerfile'ın bakımı ve okunabilirliğinin kolaylaşması, çünkü tüm aşamalar tek bir yerde tanımlanmıştır.

Go için örnek:

# Derleme aşaması
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

# Final imaj
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]