LXC (Linux Container) isoliert Container voneinander durch Kernel-Technologien wie CGroups (Control Groups) und Namespaces.
1. Namespaces: Sie sind grundlegende Isolationstechnologie, mit der die Containerprozesse virtuelle Instanzen von Betriebssystemressourcen sehen, die getrennt von denen anderer Container sind. Dies bedeutet, dass jeder Container seinen eigenen Netzwerk-Stack, Prozessbaum, Benutzer-IDs und Dateisystem hat.
2. CGroups (Control Groups): Dieses Tool wird zum Ressourcenmanagement verwendet. Mit Cgroups kann LXC die Nutzung von CPU, Speicher, Netzwerkbandbreite, Festplattenein-/ausgabe usw. für jeden Container beschränken. Sie wird verwendet, um zu verhindern, dass ein einzelner Container alle Ressourcen des Hostsystems aufbraucht.
3. Capabilities: Diese Funktion des Linux-Kernels ermöglicht es bestimmten Prozessen, bestimmte Systemaufrufe auszuführen oder nicht, was hilft, unerwünschte oder schädliche Handlungen zu verhindern.
4. AppArmor und SELinux: Dies sind Mandatory Access Control (MAC) Systeme, die die Fähigkeiten von Prozessen begrenzen, auf bestimmte Ressourcen zuzugreifen.
5. Seccomp (Secure Computing Mode): Eine Erweiterung des Linux-Kernels, die es ermöglicht, die Menge an Systemaufrufen, die ein Prozess machen darf, zu beschränken oder zu ändern.
Durch all diese Techniken wird also der Grad der Isolation und Sicherheit erreicht, den LXC-Container voneinander haben.