Sobes.tech
Junior — Middle

Docker, konteynerler için CPU ve bellek gibi kaynakların kullanımını nasıl yönetir ve sınırlar?

sobes.tech yapay zeka

AI'dan gelen yanıt

Docker, Linux çekirdeğinin özellikleri olan cgroups ve namespace'ler gibi imkanları kullanarak konteynerlerin kaynaklarını yönetir ve sınırlar.

  • CPU: Bir konteynerin kullanabileceği işlemci çekirdeği sayısını veya CPU payını --cpus, --cpu-shares, --cpu-quota ve --cpu-period bayraklarıyla konteyner başlatırken sınırlandırmak mümkündür.

  • Bellek: Bellek sınırı --memory (maksimum bellek miktarı) ve --memory-swap (swap bellek miktarı) bayraklarıyla belirlenir.

Kaynak sınırlandırmasıyla konteyner başlatma örneği:

docker run --cpus="1.5" --memory="512m" nginx

Bu örnekte, konteyner en fazla 1.5 CPU ve 512 MB RAM kullanabilir.

Bu şekilde, Docker cgroups aracılığıyla kaynakları kontrol eder ve izole eder, böylece konteynerler belirlenen sınırları aşmaz ve diğer servislerin çalışmasını engellemez.