LXC (Linux Containers) ist eine Methode der Betriebssystem-Virtualisierung auf Linux-Kerneln. LXC-Container teilen sich den Kernel des Hosts, sind aber durch cgroups, Namespaces und Sicherheitsfunktionen voneinander isoliert — ähnlich wie Docker-Container, aber mit einem anderen Ziel.
System-Container statt App-Container
Während Docker einzelne Anwendungen verpackt (App-Container), startet LXC klassisch eine komplette Systemumgebung: Sie erhalten ein eigenes init-System (etwa systemd), eigene Dienste und sogar eine eigene Distribution im Container. Ein LXC-Container verhält sich damit wie ein schlanker, minimaler Server in einem eigenen Verzeichnisbaum — ohne den Overhead einer VM.
LXC vs. VM vs. Docker
- Gegenüber einer VM (Hypervisor + eigener Gast-Kernel) ist LXC ressourcenschonender und startet in Sekunden — dafür fehlt die harte Kernel-Isolation.
- Gegenüber Docker sind LXC-System-Container näher an einer echten Server-Umgebung (init, Dienste, mehrere Prozesse); Docker-Container sind auf je einen Prozess und seine Abhängigkeiten zugeschnitten.
LXD als moderne Werkzeugkiste
LXD ist der heute übliche Wrapper um LXC: Er verwaltet Container image-basiert, bietet Snapshots, Live-Migration und eine Daemon-API. LXC/LXD wird gern für Testumgebungen, CI-Systeme und schlanke VPS-Ersatzlösungen genutzt und ist die technische Basis vieler Provider-Angebote.
Praxis
lxc list
lxc launch ubuntu:24.04 mein-container
lxc exec mein-container -- bash
lxc snapshot mein-container vor-update
Grundlegend für das Verständnis sind Virtualisierung im Allgemeinen, Kubernetes mit seinen Pods als Orchestrierungs-Ebene und die docker-Befehle als App-Container-Gegenstück.