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.