Proxmox: LXC, Docker oder VM?
Entscheidungshilfe für den Alltag - kein Anspruch auf Vollständigkeit
Die Hardware dahinter
Als Referenz für diese Empfehlungen dient ein typischer Homelab/KMU-Server:
- 2x Intel Xeon Silver 4314 (2x16 Cores / 64 Threads)
- 128 GB RAM
- 6 TB Storage
- Proxmox VE 8.x
Mit dieser Basis sind alle drei Varianten problemlos parallel betreibbar.
Kurzübersicht
Anwendung läuft auf...
│
├── braucht eigenen Kernel / eigenes OS?
│ └── JA → VM
│
├── ist ein Standard-Linux-Dienst (Web, DB, Mail...)?
│ └── JA → LXC Container
│
└── kommt als fertiges Image / docker-compose?
└── JA → Docker (in VM oder LXC)
LXC Container
LXC (Linux Containers) ist die native Container-Technologie von Proxmox.
Ein LXC-Container teilt sich den Kernel des Proxmox-Hosts, hat aber ein
eigenes Userland (Debian, Ubuntu, Alpine...).
Wann LXC?
- Klassische Linux-Dienste: Webserver, Datenbank, Mailserver, Monitoring
- Dienste die man selbst installiert und pflegt (apt, systemd, crontab)
- Wenn man direkten Zugriff auf Dateien, Logs und Konfiguration will
- Viele Instanzen auf einem Host - LXC ist sehr ressourcensparend
- Migrations-Szenarien von alten VMs (wie z.B. Redmine von VirtualBox)
Vorteile
- Startet in Sekunden
- Minimaler Overhead - kaum mehr als ein normaler Prozess
- Proxmox-Backup (
vzdump) funktioniert nativ und zuverlässig - Snapshots, Live-Migration zwischen Proxmox-Nodes
- Vertraut: verhält sich wie ein normales Debian/Ubuntu
Nachteile
- Kein eigener Kernel - manche Anwendungen funktionieren nicht (z.B. mit
bestimmten Kernel-Modulen) - Privilegierte Container haben Sicherheitsrisiken (unprivileged bevorzugen)
- Kein Windows möglich
Typische Kandidaten
Redmine, Gitea, Nextcloud, nginx, PostgreSQL, MariaDB,
Bind9, Postfix, Grafana, Prometheus, Pi-hole
Docker
Docker ist kein Hypervisor sondern eine Container-Laufzeitumgebung.
Docker-Container laufen auf Proxmox entweder in einer VM oder in einem
LXC-Container.
Wann Docker?
- Anwendung wird als fertiges Image geliefert (Docker Hub, GHCR)
- Komplexe Stacks mit mehreren Diensten (docker-compose)
- Schnelles Ausprobieren ohne das System zu "verschmutzen"
- Entwicklungsumgebungen
- Wenn Updates durch simples
docker pull+docker compose uperledigt sind
Vorteile
- Riesiges Ökosystem - fast jede Software als fertiges Image verfügbar
- Reproduzierbar:
docker-compose.ymlist gleichzeitig Dokumentation - Isolation zwischen Anwendungen
- Updates sehr einfach
Nachteile
- Zusätzliche Abstraktionsschicht (Docker läuft in VM oder LXC)
- Volume-Management kann unübersichtlich werden
- Netzwerk-Konfiguration manchmal komplex
- Debugging aufwändiger als bei "nativem" Linux-Dienst
- Nicht alle Images werden gepflegt (Sicherheitslücken!)
Wo auf Proxmox betreiben?
Empfehlung: Docker in einer dedizierten VM (Debian/Ubuntu)
Alternativ: Docker in einem privilegierten LXC Container
→ funktioniert, aber mit Einschränkungen und Sicherheitskompromissen
Typische Kandidaten
Portainer, Traefik, Vaultwarden, Jellyfin, Home Assistant,
alle Selfhosted-Apps die docker-compose mitliefern
Vollständige VM
Eine VM emuliert vollständige Hardware und hat einen eigenen Kernel.
Wann VM?
- Windows (keine Alternative)
- Anwendungen die spezifische Kernel-Module oder -Versionen benötigen
- Maximale Isolation erforderlich (z.B. öffentlich erreichbare Dienste)
- Legacy-Systeme die sich nicht einfach migrieren lassen
- Docker-Host (wenn man Docker auf Proxmox betreiben will)
- Wenn das Gastbetriebssystem selbst verwaltet werden muss (Updates, Kernel)
Vorteile
- Vollständige Isolation - eigener Kernel, eigene Hardware-Emulation
- Läuft alles: Windows, BSD, ältere Linux-Versionen
- Keine Abhängigkeit vom Host-Kernel
Nachteile
- Höherer Ressourcenverbrauch (RAM-Overhead durch eigenen Kernel)
- Langsamerer Start als LXC
- Mehr Aufwand bei Installation und Pflege
Typische Kandidaten
Windows Server, Windows Desktop, pfSense/OPNsense,
Docker-Host, Legacy-Systeme, öffentlich exponierte Dienste
Entscheidungsmatrix
| Kriterium | LXC | Docker | VM |
|---|---|---|---|
| Ressourcenverbrauch | minimal | mittel | höher |
| Startzeit | Sekunden | Sekunden | 30-60s |
| Isolation | mittel | mittel | hoch |
| Windows-Support | ✗ | ✗ | ✓ |
| Proxmox-Backup | nativ | Volumes manuell | nativ |
| Bekannte Linux-Tools | ✓ | eingeschränkt | ✓ |
| Fertiger Image-Ökosystem | nein | ✓ | nein |
| Empfehlung für Einsteiger | ✓ | bedingt | ✓ |
Empfehlung für einen typischen Homelab/KMU-Server
├── LXC Container (Mehrheit der Dienste)
│ ├── Webserver / Reverse Proxy (nginx)
│ ├── Datenbanken (MariaDB, PostgreSQL)
│ ├── Selfhosted Apps (Redmine, Gitea, ...)
│ └── Monitoring (Grafana, Prometheus)
│
├── 1x VM als Docker-Host
│ └── Alle docker-compose Stacks
│
└── VMs nur wenn nötig
├── Windows
├── pfSense/OPNsense (Router/Firewall)
└── Legacy-Systeme
Mit 128 GB RAM und 64 Threads ist auf diesem Server reichlich Platz für
alle drei Varianten parallel - das ist kein Entweder-oder.
Erstellt im Rahmen der Migration von VirtualBox-VMs auf Proxmox VE 8.x