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:
-
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.
-
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.
-
Union File Systems (OverlayFS, AUFS vb.) — her konteyner için ortak temel imaj üzerinde izole edilmiş dosya sistemleri oluşturmayı sağlar.
-
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.