Tanım
LXC (Linux Containers), Linux çekirdeğindeki cgroups ve namespace özelliklerini kullanarak tek bir çekirdek üzerinde birbirinden yalıtılmış tam Linux sistemleri çalıştıran konteyner teknolojisidir. Her LXC konteyneri kendi init süreci, kullanıcıları ve ağ arayüzüyle hafif bir sanal sunucu gibi davranır.
LXC nasıl çalışır?
LXC, standart Linux çekirdeğinin iki özelliğiyle çalışır: namespace'ler her konteynere ayrı süreç, ağ, dosya sistemi ve kullanıcı görünümü verir; cgroups ise işlemci, bellek ve disk G/Ç kullanımını sınırlar. Özel bir çekirdek gerektirmediği için OpenVZ'nin modern, ana akım çekirdekle uyumlu karşılığı olarak görülür. Proxmox VE gibi platformlar hem LXC konteynerlerini hem KVM sanal makinelerini aynı arayüzden yönetir.
LXC ile Docker farkı nedir?
LXC bir sistem konteyneri, Docker ise bir uygulama konteyneri yaklaşımıdır. LXC konteynerinde systemd, SSH ve birden çok servis çalışan tam bir Linux dağıtımı bulunur; sunucu gibi oturum açıp paket kurarsınız. Docker konteyneri ise genellikle tek bir süreci (ör. Nginx ya da bir Node.js uygulaması) imaj olarak paketler ve değişmez, yeniden üretilebilir dağıtım için tasarlanmıştır.
- Hafif bir sanal sunucu ihtiyacı: LXC
- Uygulama paketleme ve CI/CD: Docker
- Windows ya da özel çekirdek ihtiyacı: KVM sanal makine
Docker'ı tam yetkili bir sanal sunucuda çalıştırmak için Docker kurulumu rehberine bakabilirsiniz.
LXC konteyneri ne zaman yeterli olur?
LXC konteyneri, Linux tabanlı ve çekirdek özelleştirmesi gerektirmeyen hafif servisler için yeterlidir: bir DNS çözümleyici, küçük bir web sunucusu, izleme aracı ya da iç ağ servisleri gibi. Konteynerler sanal makinelere göre çok daha hızlı açılır ve daha az bellek harcar. Buna karşılık çok kiracılı ortamlarda yalıtım güvenliği KVM kadar güçlü değildir; bu yüzden barındırma sağlayıcıları müşterilere satılan sanal sunucularda genellikle tam sanallaştırmayı tercih eder.