Sobes.tech
Junior — Middle

Docker, çalışan konteynerler arasında izolasyonu nasıl sağlar?

sobes.tech yapay zeka

AI'dan gelen yanıt

Docker, Linux işletim sisteminin birkaç ana mekanizmasıyla konteynerler arasında izolasyon sağlar:

  1. Namespaces (isim alanları) — süreçleri, ağı, dosya sistemini ve diğer kaynakları izole eder. Örneğin:

    • PID namespace — süreçleri izole eder, böylece bir konteynerdeki süreçler diğerlerini göremez.
    • Ağ namespace — her konteyner için ayrı ağ arayüzleri ve IP adresleri sağlar.
    • Mount namespace — dosya sistemini izole eder.
  2. Control Groups (cgroups) — her konteynerin CPU, bellek, disk, ağ gibi kaynak kullanımını sınırlar ve kontrol eder, böylece bir konteynerin performansı diğerlerini etkilemez.

  3. Union File Systems (OverlayFS, AUFS vb.) — her konteyner için ortak temel imaj üzerinde izole edilmiş dosya sistemleri oluşturmayı sağlar.

  4. Capabilities ve Güvenlik Modülleri (örneğin, SELinux, AppArmor) — konteyner içindeki süreçlerin izinlerini sınırlar, güvenliği artırır.

Bu şekilde, Docker, hafif ve izole ortamlar oluşturarak bunların birbirinden bağımsız çalışmasını sağlar.