Docker pull neden bu kadar yavaş?
Docker Compose ile image çekmeye başladığında ilk görüntü 10 saniye bekliyor, sonra sonraki batch'ler için yine 10-15 saniye daha geçiyor. Podman'da aynı dosya ile tüm indirmeler hemen başlıyor. Bu fark, Docker'ın mimarisi ve ağ davranışıyla ilgili.
Docker daemon, varsayılan olarak image katmanlarını sırayla (sequential) indiriyor. Her katman için metadata kontrol eder, varsa atlar, yoksa indirir. Bu işlem esnasında daemon'un internal state yönetimi ve registry ile iletişimi biraz gecikme yaratır. Özellikle birden fazla image çekerken bu gecikmeler birikir. Podman ise paralel indirme konusunda daha agresif davranıyor ve birden fazla katmanı aynı anda başlatabiliyor.
Bu yavaşlık genellikle Docker'ın konfigürasyonuyla değil, tasarımıyla ilgili. Ücretli/ücretsiz ayrımı yok; Docker Desktop ve Docker CE'de davranış aynı. Ağ bağlantısı, disk I/O, registry yanıt süresi ve daemon'un işlemci yükü etkili olabilir, ama temel sebep sıralı indirme stratejisidir.
Hızlandırmak için: Docker daemon'u yeniden başlatmayı, `--max-concurrent-downloads` parametresini 5-10'a yükseltmeyi (docker daemon.json'da) veya registry mirror kullanmayı deneyebilirsin. Yine de Podman'daki hız farkı kapanmayabilir. Eğer image pull süresi kritikse ve Podman'a geçiş yapmak istiyorsan, Compose syntax neredeyse aynı olduğu için geçiş pek zor olmaz.
0 yorum