Docker İmajları Nerede Saklanır
Giriş
Container registry'niz bir dosya paylaşımı değildir — yazılım tedarik zincirinizin bir halkası ve her deployment'ın runtime bağımlılığıdır. Registry çökmüşse ne scale-out yapabilirsiniz ne de rollback; kötü yönetiliyorsa, production'da ne çalıştığını bilememenizle aranızda tek bir mutable tag vardır. İşte 2026'da registry manzarasının gerçekte nasıl göründüğü — ve hangi sağlayıcıyı seçtiğinizden daha önemli olan hijyen.
2026 Registry Manzarası
Bulut Sağlayıcı Registry'leri: ECR, Artifact Registry, ACR
İş yükleriniz AWS, Google Cloud veya Azure üzerinde çalışıyorsa varsayılan cevap sağlayıcının registry'sidir: Amazon ECR, Google Artifact Registry (emekliye ayrılan Container Registry'nin yerini aldı) veya Azure Container Registry. Push/pull izinleri için yerleşik IAM, pull'ların internete hiç çıkmaması için private network endpoint'leri, dahili zafiyet taraması ve bölgeler arası replikasyon elde edersiniz. Aynı bölge içinden yapılan pull'lar hızlıdır ve genellikle ücretsizdir — cluster ölçeğinde önemli bir ayrıntı; cloud computing projelerimizde tekrar tekrar karşımıza çıkan bir konu, çünkü registry egress'i, insanların tasarım aşamasında ortadan kaldırmayı unuttuğu küçük ama yinelenen bir maliyet kalemidir.
Git-Forge Registry'leri: GHCR ve GitLab
GitHub Container Registry ve GitLab Container Registry, imajları kodun ve onları build eden CI'ın hemen yanına koyar; kimlik doğrulama da pipeline'ınızın zaten sahip olduğu token'ın üzerine biner. Açık kaynak dağıtımı için ve tüm yaşam döngüsü forge içinde yaşayan ekipler için 2026'daki en az sürtünmeli seçenek budur.
Docker Hub
Docker Hub en büyük halka açık katalog ve halka açık bir imajı dağıtmak için doğru yer olmaya devam ediyor. Özel bir kurumsal depo olarak ise artık nadir görülüyor — ve anonim pull rate limit'leri, CI'dan veya production'dan doğrudan ona bağımlı olmayı, kendi elinizle hazırladığınız ve gerçekleşmeyi bekleyen bir kesinti haline getiriyor (çözüm, aşağıdaki pull-through cache).
Self-Hosted: Harbor
CNCF'den mezun bir proje olan Harbor; veri yerleşimi (data residency), air-gapped ortamlar veya tam kontrol self-hosting gerektirdiğinde standarttır: proje düzeyinde RBAC, kotalar, registry'ler arası replikasyon, proxy cache ve yerleşik Trivy taraması. Kayda değer alternatif Quay. Self-hosting, artık tier-zero bir servis işlettiğiniz anlamına gelir — bunun bütçesini dürüstçe planlayın.
Gerçekten Önemli Olan Registry Hijyeni
1. Tag'leri Immutable Yapın
Registry destekliyorsa tag immutability'yi etkinleştirin (ECR ve Harbor destekliyor) ve benzersiz sürüm tag'i ya da digest ile deploy edin — asla mutable bir :latest ile değil. Bir tag sessizce başka bir imaja yönlendirilebiliyorsa, "production'da ne çalışıyor?" sorusunun güvenilir bir yanıtı yoktur; rollback'in de yoktur.
2. Saklama (Retention) Politikaları Belirleyin
CI durmaksızın imaj üretir; lifecycle kuralları olmadan bir registry pahalı bir hurda çekmecesine dönüşür. Tag'siz manifest'lerin birkaç gün içinde süresini doldurun ve repository başına son N release'i tutun — her büyük registry bunu yerleşik olarak destekler.
3. İmajları İmzalayın ve Admission'da Doğrulayın
İmajları CI'da cosign (Sigstore — CI'ınızın OIDC kimliğine karşı anahtarsız imzalama) veya Notation ile imzalayın; ardından doğrulamayı cluster tarafında Kyverno gibi bir admission policy ile zorunlu kılın. Hiçbir şeyin doğrulamadığı bir imza süsten ibarettir; SecOps pratiğimizin eforunun çoğu bu zorlama tarafına gider.
4. Hem CI'da Hem Registry'de Tarayın
Push etmeden önce pipeline'da Trivy veya Grype ile tarayın ve registry tarafındaki taramayı açık tutun (ECR taraması, Harbor'ın yerleşik Trivy'si); böylece haftalar önce build edilmiş imajlar, yeni CVE'ler çıktığında yeniden işaretlenir. Tarama hikâyenin yalnızca yarısıdır — imajın taranmaya değer olması gerekir ve bu da build'in kendisiyle başlar; Dockerfile en iyi pratikleri rehberimize bakın.
5. Pull-Through Cache Çalıştırın
Upstream registry'lere canlı canlı bağımlı olmak yerine onları aynalayın: ECR pull-through cache kuralları, Artifact Registry remote repository'leri veya bir Harbor proxy projesi. Bir Docker Hub kesintisi ya da rate-limit sıkışması sırasında build'leriniz ve cluster'larınız çalışmaya devam eder; pull'lar da hem hızlanır hem ucuzlar.
6. CI'dan OIDC ile Push Edin, Kayıtlı Anahtarla Değil
Docker Hub'ın eski automated-builds özelliği, 2026'da imajların build edilme şekli değil — CI öyle. GitHub Actions'ın (veya tercih ettiğiniz CI'ın) OIDC federasyonu üzerinden kısa ömürlü bir cloud rolü üstlenerek ECR'ye veya Artifact Registry'ye push etmesini sağlayın. CI secret'larında bekleyen uzun ömürlü registry kimlik bilgisi olmasın.
Sonuç
İş yüklerinizin çalıştığı yere en yakın registry'yi seçin, sonra enerjinizi hijyene harcayın: immutable tag'ler, retention, doğrulamayla desteklenen imzalama, katmanlı tarama ve bir pull-through cache. Bir registry'yi güvenilir kılan bu kombinasyondur — vendor logosu değil.
Bunu production'da mı çalıştıracaksınız? AWS Yönetilen Hizmetler ekibimiz böyle ortamları 7/24 işletir — izleme, olay müdahalesi, yama ve maliyet kontrolü; ismini bildiğiniz kıdemli mühendislerle, aylık 3.000 €'dan başlayan fiyatlarla.