Kurumsal ortamlarda, güvenlik gerekçeleriyle dış internete kapalı ağlarda Docker çalıştırmak sık görülen bir durumdur. Bu tür ortamlarda image güncellemek veya yeni dağıtım yapmak için, dışarıda docker save ile kaydedilen image dosyasını elle içeri taşıyıp docker load ile yüklemek gerekir.
Ancak image birkaç GB’ı aştığında, çok küçük bir değişiklikte bile tamamını yeniden taşımak zorunda kalmak verimsizliğe yol açar.
Docker image’ları birden fazla salt okunur katmanın birleşiminden oluşur. Aynı katmanlar, birden fazla image arasında yinelenen depolama olmadan paylaşılır. Bu yapı sayesinde yalnızca değişen katmanları aktarmak yeterlidir; geri kalanı önbellekten yeniden kullanılabilir.
Kapalı ağlarda otomatik önbellekleme zor olduğundan, yalnızca değişen katmanları ayrı bir paket halinde iletme stratejisi kullanılır. Bunu otomatikleştirmek için Python tabanlı docker-diff aracı geliştirildi; compare modu ile karşılaştırma, merge modu ile de birleştirme yapılabilir.
Image’ların sık güncellendiği ortamlarda artımlı güncelleme yaklaşımı, ağ kaynakları ile zamandan tasarruf sağlar ve dağıtımın güvenilirliğini ve hızını artırabilir.
Mümkünse artımlı paket oluşturma, aktarma ve birleştirme süreçlerinin tamamını otomatikleştirerek hataları azaltmanız ve kararlılığı artırmanız önerilir.
3 yorum
Kapalı ağda private Docker registry kurmak mümkün değil mi? Neden bu kadar karmaşık şekilde kuruyorsunuz?
> Altyapı koşulları uygunsa, dahili bir container registry işletmek en ideal seçenek olabilir ve
cümlesi sona doğru yer alıyor... Sanki hüzünlü bir hikâye var gibi 🫠
Muhtemelen mimari ya da altyapı tarafında bazı kısıtlar vardır, değil mi? Sanırım müşteriye yalnızca yapay zekayı çalıştırmak için gereken asgari donanım teslim ediliyordur.