Senior
Docker imajının boyutunu küçültmek için hangi uygulamalar vardır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Docker görüntüsünün boyutunu küçültmek için birkaç uygulama yapılır:
- Minimalist temel görüntülerin kullanılması, örneğin
alpineyerineubuntu. - Çok aşamalı derleme (multi-stage builds), ilk aşamalarda uygulamanın derlenmesi ve son görüntüde yalnızca minimum çalışma zamanı ve derlenmiş ikili dosyanın kalması.
- Bağımlılıkların yüklenmesinden sonra önbelleklerin ve geçici dosyaların temizlenmesi.
- Katman sayısını azaltmak için RUN komutlarının birleştirilmesi.
- Gerekli olmayan dosyaları derleme bağlamından çıkarmak için
.dockerignorekullanılması.
Go için çok aşamalı Dockerfile örneği:
# Aşama 1: Derleme
FROM golang:1.20-alpine AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Aşama 2: Minimal çalışma zamanı
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]
Bu yaklaşım, minimum dosya setiyle kompakt bir görüntü elde etmeyi sağlar.