LXD/LXC-Container unter Ubuntu: Praxis-Guide
LXD unter Ubuntu 24.04 installieren und leichtgewichtige System-Container starten: Netzwerk, Storage, Snapshots, Limits und wie sich LXC von Docker unterscheidet.
LXD bietet Ihnen System-Container: leichtgewichtige Instanzen, die sich wie eine vollständige Linux-Maschine verhalten — mit eigenem Init-System, eigenen Benutzern und Diensten — aber den Kernel des Hosts teilen, sodass sie in Sekunden starten und nur einen Bruchteil der Ressourcen einer VM nutzen. Unter Ubuntu 24.04 ist LXD der native, von Canonical unterstützte Weg, sie zu betreiben — angesiedelt zwischen schwergewichtigen KVM-VMs und Docker-Containern für einzelne Prozesse.
Dieser Praxis-Guide installiert LXD, startet Ihren ersten Container und behandelt den täglichen Betrieb: Netzwerk, Storage, Snapshots und Ressourcenlimits. Nebenbei erklärt er, wie sich System-Container von Anwendungs-Containern wie Docker unterscheiden, damit Sie wissen, welches Werkzeug zu welcher Aufgabe passt.
LXC vs. LXD vs. Docker
LXC ist die Low-Level-Container-Laufzeit von Linux. LXD ist die moderne Verwaltungsschicht darüber — ein Image-Store, eine REST-API und der freundliche lxc-Client. Docker hingegen verpackt einen einzelnen Anwendungsprozess pro Container. Faustregel: Greifen Sie zu LXD, wenn Sie eine dauerhafte, VM-ähnliche Umgebung wollen; zu Docker, wenn Sie eine zustandslose App ausliefern wollen; und zu KVM, wenn Sie einen anderen Kernel oder harte Isolation benötigen.
Voraussetzungen
Sie benötigen Ubuntu 24.04 mit einem sudo-fähigen Benutzer und einigen Gigabyte freiem Speicher. LXD wird unter Ubuntu als Snap ausgeliefert, was hier der unterstützte Installationsweg ist (anders als bei Docker, wo das Snap besser gemieden wird).
Schritt 1: LXD installieren und initialisieren
Installieren Sie das LXD-Snap und fügen Sie sich der Gruppe lxd hinzu, um den Client ohne sudo auszuführen:
sudo snap install lxd
sudo usermod -aG lxd $USER
newgrp lxdFühren Sie den geführten Initialisierer aus. Die Standardwerte sind für einen Einzelhost sinnvoll — er richtet einen Storage-Pool (ZFS oder dir) und ein Default-Bridge-Netzwerk ein:
lxd init --minimalFür volle Kontrolle über Storage-Backend, Netzwerk und Clustering führen Sie lxd init ohne --minimal aus und beantworten die Fragen.
Schritt 2: Den ersten Container starten
Starten Sie einen Ubuntu-24.04-System-Container namens web1 vom offiziellen Image-Server:
lxc launch ubuntu:24.04 web1
lxc listDie erwartete Ausgabe zeigt den Container RUNNING mit einer IPv4-Adresse aus der LXD-Bridge:
+------+---------+----------------------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------+---------+----------------------+------+-----------+-----------+
| web1 | RUNNING | 10.x.x.10 (eth0) | | CONTAINER | 0 |
+------+---------+----------------------+------+-----------+-----------+Schritt 3: Im Container arbeiten
Holen Sie sich eine interaktive Shell oder führen Sie Einzelbefehle aus, ohne den Container zu betreten:
lxc exec web1 -- bash
lxc exec web1 -- apt updateKopieren Sie Dateien hinein und heraus und übertragen Sie ein ganzes Verzeichnis:
lxc file push ./index.html web1/var/www/html/index.html
lxc file pull web1/etc/hostname ./hostname.txtSchritt 4: Netzwerk
Standardmäßig sitzen Container hinter einer NAT-Bridge (lxdbr0). Um einen Dienst verfügbar zu machen, leiten Sie einen Host-Port an den Container weiter oder binden den Container per Bridge an Ihr LAN an:
lxc config device add web1 http proxy \ listen=tcp:0.0.0.0:8080 connect=tcp:127.0.0.1:80
lxc network list
Für direkten LAN-Zugriff binden Sie den Container an eine Host-Bridge an — das Einrichten der Bridge selbst zeigt unsere Anleitung zum Linux-Bridge-Networking.
Schritt 5: Storage und Ressourcenlimits
Storage-Pools auflisten und einem Container ein dediziertes Daten-Volume hinzufügen:
lxc storage list
lxc storage volume create default web1-data
lxc config device add web1 data disk
pool=default source=web1-data path=/dataBegrenzen Sie CPU und Speicher, damit kein Container den Host aushungert — live angewendet:
lxc config set web1 limits.cpu 2
lxc config set web1 limits.memory 1GiB
lxc config show web1 | grep limitsSchritt 6: Snapshots und Wiederherstellung
Snapshots sind auf einem Copy-on-Write-Backend sofort und günstig. Erstellen Sie einen vor einer riskanten Änderung, listen Sie sie auf und stellen Sie wieder her:
lxc snapshot web1 before-upgrade
lxc info web1 | grep -A3 Snapshots
lxc restore web1 before-upgradeUm einen Container in eine fertige Vorlage für wiederholbare Umgebungen zu klonen:
lxc copy web1 web1-template
lxc publish web1 --alias web-baselineSchritt 7: Lebenszyklus und Aufräumen
Container sauber stoppen, starten und löschen:
lxc stop web1
lxc start web1
lxc delete web1 --forceFehlerbehebung und Stolperfallen
- „permission denied“ beim Ausführen von lxc — Sie haben sich nach der Gruppenänderung nicht neu angemeldet; führen Sie
newgrp lxdaus oder starten Sie eine neue Sitzung. - Keine IPv4 am Container —
lxdbr0hat kein Subnetz erhalten; führen Sielxd initerneut aus oder prüfen Sielxc network show lxdbr0. - „storage pool not found“ — Sie haben die Initialisierung übersprungen; LXD benötigt mindestens einen Pool aus
lxd init. - Versuch, einen anderen Kernel zu betreiben — System-Container teilen den Host-Kernel; benötigen Sie einen anderen, nutzen Sie stattdessen eine KVM-VM.
Wie es weitergeht
System-Container sind eines von drei sich ergänzenden Werkzeugen. Für zustandsloses Anwendungs-Packaging geht es weiter mit dem Installieren von Docker unter Ubuntu 24.04; für volle Isolation auf Hardware-Ebene siehe Installieren von KVM/QEMU.
Fazit
LXD liefert VM-ähnliche Umgebungen mit Container-Geschwindigkeit — mit Snapshots, Storage und Netzwerk über eine saubere CLI verwaltet — ideal für Entwicklungsumgebungen, CI-Runner und das Konsolidieren leichtgewichtiger Dienste. Den richtigen Mix aus Containern und VMs über eine ganze Flotte zu wählen und zu betreiben, ist Teil dessen, was eine Private-Cloud-Plattform für Sie erledigt. clouditiv betreibt eine souveräne, ISO-27001-/BSI-C5-konforme Private Cloud auf Ubuntu 24.04 + OpenStack 2025.2, bei der Ihre Daten in Deutschland bleiben — damit Ihr Team auf den richtigen Bausteinen aufbaut, ohne die Infrastruktur zu warten. Sehen Sie sich unsere On-Premise-Cloud-Lösung an.