Docker vs. LXC in Proxmox: Wann was?
Docker ist allgegenwärtig. LXC ist die natives Proxmox-Container-Technologie. Der Fehler ist, sie als Konkurrenten zu sehen — sie sind komplementär.
LXC: Der Proxmox-Native
LXC-Container in Proxmox verhalten sich wie schlanke VMs. Sie booten ein vollständiges Betriebssystem, haben systemd, bekommen eine eigene IP und lassen sich wie eine VM verwalten — Snapshot, Migration, Backup per PBS.
Der Overhead ist minimal, weil sie denselben Kernel wie der Host nutzen. Das macht LXC ideal für Dienste, die keine speziellen Kernel-Module brauchen: Webserver, Datenbanken, kleine Python-Dienste.
Docker: Der App-Container
Docker verpackt Anwendungen mit allen Abhängigkeiten in ein Image. Es läuft nicht nativ auf Proxmox — entweder in einer VM oder, pragmatisch, in einer schlanken Ubuntu-LXC, die Docker hostet.
# In einer LXC: Docker installieren, dann:
docker run -d --name metabase -p 3000:3000 metabase/metabase
Docker ist stark für isolierte Applikationen, die mit einem Befehl starten sollen und deren Upstream-Images gepflegt werden. Uptime Kuma, Metabase, n8n, Paperless-ngx — alles Docker-first.
Die Entscheidungsmatrix
| Kriterium | LXC | Docker | |---|---|---| | Proxmox-Integration (Snapshot, Migration) | Voll | Nur via VM | | Image-Bau & Reproduzierbarkeit | Aufwendig | Dockerfile, trivial | | Upstream-Images | Selten | Standard | | Persistente Daten | Im Container-Filesystem | Volumes oder Bind-Mounts | | Isolation | Kernel-geteilt, okay | Kernel-geteilt oder VM-getrennt | | Wartung (OS-Updates) | Wie VM, apt update | Image neu bauen/pullen |
Unsere Faustregel
- Docker in einer dedizierten VM für Applikationen, die Docker-Images bevorzugen — das ist eine VM mit Ubuntu Server und Docker, die nur dafür existiert. Proxmox sichert die ganze VM per PBS.
- Reine LXC für Datenbanken (PostgreSQL, SQL Server auf Linux) und selbstgeschriebene Dienste — wegen Snapshot-Fähigkeit und PBS-Integration ohne Zusatzschicht.
- Niemals Docker direkt auf dem Proxmox-Host — das verschmutzt den Hypervisor und untergräbt die Trennung.
Der typische Fehler
Alles in Docker zu stecken, auch PostgreSQL, auch die 500-GB-Datenbank. Dann ein Docker-Update, das Volume-Verhalten ändert sich, und das Produktivsystem steht. Datenbanken gehören in LXC oder VMs — wegen Stabilität, nicht wegen Dogma.
Fazit
LXC und Docker schliessen sich nicht aus. LXC für System-Dienste mit langem Lebenszyklus, Docker für Applikationen mit fertigen Images und kurzer Lebensdauer. Die Kunst ist, sie in derselben Infrastruktur parallel zu betreiben, ohne dass sie sich ins Gehege kommen.