İleri imaj üretimi: çok aşamalı derleme, BuildKit ve kayıt defteri
Küçük, hızlı derlenen ve tekrar üretilebilir imajlar yapar; kendi kayıt defterini kurup imajları sürümler ve imzalarsın.
Seviye 301 · 17 ders · 15 pratik lab
Dersler
İyi Dockerfile
- Katman önbelleği ve talimat sırası
- Çok aşamalı derleme
- Temel imaj seçimi: distroless, alpine, slim
- .dockerignore ve derleme bağlamı
- ENTRYPOINT, CMD ve sinyaller
- Kısa görev: 1 GB’lık imajı 100 MB’ın altına indir
BuildKit
- buildx ve BuildKit özellikleri
- Önbellek bağlamaları ve derleme sırları
- Çok mimarili imajlar
- Tekrar üretilebilir derleme ve sabitlenmiş sürümler
- Kısa görev: özel depodan paket çeken derlemeyi sır sızdırmadan yap
Kayıt defteri
- Kendi kayıt defterini kurmak: TLS ve parola
- Etiketler, özetler ve sürümleme
- İmaj imzalama ve yazılım malzeme listesi
- Kayıt defterinde temizlik ve saklama kuralları
- Kısa görev: test edilmiş imajı özetle üretime terfi ettir
Kapanış
- Bitirme görevi: üç servis için yerel imaj üretim hattı kur
Pratik lablar
- Her derlemede baştan kurulan bağımlılıklar: Tek satır kod değişince bütün bağımlılıkları yeniden kuran Dockerfile’da talimat sırasını düzelt ve ikinci derlemede kurulum adımının önbellekten geldiğini göster.
- Gigabaytlık derleme bağlamı: Depo geçmişini, bağımlılık klasörlerini ve gizli dosyaları derleme bağlamına gönderen projeye .dockerignore yaz ve bağlam boyutunun öncesi/sonrası değerini raporla.
- Önbelleği bozan üç neden: Brightfield Labs’in yavaş derlenen imajında önbelleği her seferinde bozan üç nedeni derleme çıktısından bul, düzelt ve değişiklik olmadan yapılan derlemenin tümüyle önbellekten geldiğini kanıtla.
- Derleyicisiz son imaj: Tek aşamalı Dockerfile’ı derleme ve çalışma aşamalarına ayır ve son imajda derleyicinin bulunmadığını, boyutun küçüldüğünü göster.
- Küçük tabanda çalışmayan uygulama: Daha küçük taban imaja geçince ‘dosya bulunamadı’ hatasıyla açılmayan uygulamanın kütüphane uyumsuzluğunu bul, uygun tabanı seç ve imajı boyut bütçesinin altında çalıştır.
- Kabuksuz imajda sağlık kontrolü: Yerel bağımlılıkları olan servisi kabuk ve paket yöneticisi içermeyen bir taban imaja taşı, kabuk gerektirmeyen bir sağlık kontrolü ekle ve imajın bütçe altında healthy olduğunu göster.
- On saniyede duran konteyner: Durdurma sinyalini almadığı için zaman aşımıyla öldürülen konteynerin başlatma talimatını exec biçimine çevir ve docker stop süresinin kısaldığını ölçerek göster.
- Argümanları yutan başlatma betiği: docker run ile verilen argümanların uygulamaya ulaşmadığı imajda ENTRYPOINT ve CMD’yi doğru böl, sarmalayıcı betiği düzelt ve varsayılan ile özel argümanın ikisinin de çalıştığını göster.
- Zombi süreçler ve yarım kalan kapanış: Önce hazırlık işi sonra uygulamayı başlatan betik yüzünden zombi süreç biriktiren ve kapanırken işini yarıda bırakan imajı düzelt; sinyalin uygulamaya ulaştığını ve temiz kapanış kaydını göster.
- Paket önbelleği ile hızlı derleme: Paket yöneticisinin indirme klasörüne BuildKit önbellek bağlaması ekle ve bağımlılık listesi değiştiğinde derleme süresinin öncesine göre kısaldığını ölç.
- Katmanlarda kalan belirteç: Lab’daki imajın geçmişinde ve katman arşivlerinde kalan özel paket deposu belirtecini bul, Dockerfile’ı derleme sırrı kullanacak şekilde düzelt ve yeni imajda izinin kalmadığını kanıtla.
- İki mimari, tek etiket: Servisi buildx ile iki işlemci mimarisi için derle, lab kayıt defterine tek etiket altında gönder ve manifest listesinde iki platformun da bulunduğunu göster.
- Taban imajı özetle sabitle: Kayan bir etiket kullanan Dockerfile’ı taban imajın özetine sabitle ve iki ayrı derlemenin aynı tabandan başladığını docker inspect ile göster.
- Sertifikasına güvenilmeyen kayıt defteri: Pinecrest Bank’ın iç kayıt defterinden çekerken çıkan sertifika hatasını güvensiz kayıt defteri ayarına başvurmadan, kök sertifikayı Docker’a tanıtarak çöz ve oturum açıp imajı çek.
- Dolu kayıt defterinde saklama kuralı: Kayıt defteri API’siyle her depoda son üç sürüm dışındaki etiketleri sil, çöp toplamayı çalıştır ve kazanılan alan ile korunan etiketlerin listesini raporla.
Kurs hakkında
Küçük, hızlı derlenen ve tekrar üretilebilir imajlar yapar; kendi kayıt defterini kurup imajları sürümler ve imzalarsın.
Ne öğreneceksin
- İyi Dockerfile
- BuildKit
- Kayıt defteri
- Kapanış
Ön koşullar
Aynı yolun 101 ve 201 düzeyindeki konularına hâkim olmalısın.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde ve ona bağlı özel bir lab ağında geçer. Kurulum gerekmez.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 301 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.