Çok aşamalı derlemeler

Orta Düzey Docker

Mike Metzger

Data Engineering Consultant

Tek aşamalı derlemeler

  • Tipik Docker imajları tek bir FROM komutuyla oluşturulur
  • Kaynak imaja eklenen her şey alan kaplar ve yönetimini zorlaştırır
  • Kullanımdan önce derlenmesi gereken bir uygulamayı düşünün
    • Gerekli bileşenleri imaja ekleyip derleyebilir, sonra son imajı kullanıma göre yapılandırabilirsiniz
    • Bu, kullanılmasa bile imajda gereksiz içerik bırakır
FROM ubuntu
RUN apt update
RUN apt install gcc -y
...
RUN make
CMD ["data_app"]
Orta Düzey Docker

Çok aşamalı derlemeler

  • Çok aşamalı derlemeler birden çok konteyner kullanır
  • Genelde bir veya daha fazla derleme aşaması vardır
  • Son bileşenler nihai konteyner imajına kopyalanır
  • Derleme aşamaları ardından otomatik kaldırılır
    • Alan tasarrufu sağlar ve imaj boyutunu küçültür
  • Dockerfile’da ek sözdizimi kullanır
    • AS <alias>
    • COPY --from=<alias>
Orta Düzey Docker

Çok aşamalı derleme örneği

# İlk derleme aşamasını oluştur
FROM ubuntu AS stage1

# Derleyiciyi kur ve kodu derle RUN apt install gcc -y ... RUN make
# Son imajı oluşturmak için yeni aşama başlat FROM alpine-base
# İlk aşamadan son aşamaya kopyala COPY --from=stage1 /data_app /data_app
# Konteyner başlarken uygulamayı çalıştır CMD ["data_app"]
Orta Düzey Docker

Hadi pratik yapalım!

Orta Düzey Docker

Preparing Video For Download...