Docker ist die sicherere Standardwahl, wenn ein privilegierter Heimdienst als eine deklarierte Anwendung mit eng begrenzten Mounts betrieben werden kann. LXC ist übersichtlicher, wenn tatsächlich ein kleines Linux-System benötigt wird, aber keine der beiden Lösungen schafft eine separate Kernel-Grenze.
Entscheidend ist nicht, welches Label isolierter klingt. Beide setzen auf die Begrenzung durch den Host-Kernel. Vergleichen Sie die tatsächlich gewährten Berechtigungen, die offengelegten Geräte und Dateien, die Einheit, die Sie patchen und wiederherstellen, sowie die Folgen eines Ausbruchs. Wenn die gemeinsame Kernel-Basis selbst nicht akzeptabel ist, vergleichen Sie Docker und LXC nicht weiter, sondern verwenden Sie eine VM oder einen separaten Host.
Akzeptieren Sie die gemeinsame Kernel-Grenze, bevor Sie Funktionen vergleichen
Docker verpackt normalerweise eine Anwendung und ihre Abhängigkeiten; LXC stellt einen umfassenderen Linux-Userspace mit init, Konten, Paketen und Systemdiensten bereit. Dieser betriebliche Unterschied verschafft LXC jedoch keinen unabhängigen Gastkernel.
Forschungen zur Abschottung von Linux-Containern beschreiben Namespace- und Richtlinienmechanismen als Flickwerk, dessen Semantik schwer zu prüfen sein kann. Diese Grenze der Abschottung durch einen gemeinsamen Kernel gilt für beide Kandidaten und verhindert, dass einer von ihnen die richtige Lösung ist, wenn eine Kernel-Trennung zwingend erforderlich ist.
Berücksichtigen Sie beide weiterhin nur für vertrauenswürdige oder begrenzte Workloads. Verlagern Sie internetseitig erreichbaren Code, unbekannte Images oder Automatisierungen mit schwerwiegenden Folgen auf eine VM, wenn eine Kompromittierung den Hostkernel nicht direkt erreichen darf.
Lassen Sie die erforderlichen Berechtigungen die Standardwahl bestimmen
Docker bleibt attraktiv, wenn der Dienst einige ausdrücklich festgelegte Fähigkeiten, schreibgeschützte Konfiguration und ein oder zwei persistente Pfade benötigt. Seine Compose-Definition kann diese Ausnahmen bei der Prüfung sichtbar machen.
LXC eignet sich für Dienste, die ein herkömmliches Linux-System, mehrere Daemons, einen Paketmanager oder stabile systemweite Netzwerke erwarten. Unprivilegiertes LXC bewahrt eine nützliche UID-Zuordnung, aber der privilegierte Modus, Verschachtelung und weitreichende Bind-Mounts machen diesen Vorteil zunichte.
Zählen Sie Ausnahmen, statt einfach ein Kontrollkästchen für privilegierten Betrieb zu aktivieren. Wenn eines der beiden Designs Host-Netzwerke, den Container-Verwaltungs-Socket, beschreibbare System-Mounts, jedes Gerät oder ein uneingeschränktes Profil benötigt, gestalten Sie den Zugriffsweg neu oder verlassen Sie die Ebene mit gemeinsamem Kernel.
Geräte- und Speicherzugriff bestimmen den Schadensradius
Ein USB-Koordinator, ein GPU-Rendergerät, eine USV-Schnittstelle oder ein Medienverzeichnis sollte so eng begrenzt bereitgestellt werden, wie es der Dienst erlaubt. Stabile Gerätepfade, schreibgeschützte Mounts und eine explizite UID/GID-Zuordnung sind sowohl Kontrollmechanismen zur Begrenzung als auch praktische Einstellungen.
Ein aktueller Bericht über eine Proxmox-Bereitstellung zeigt, dass unprivilegiertes LXC Docker-basierte Dienste in separate Wiederherstellungseinheiten isolieren kann, während weiterhin der Hostkernel und der Speicher-Stack gemeinsam genutzt werden. Dieses LXC-Muster mit kleinem Schadensradius ist nur dann sinnvoll, wenn Verschachtelung und Ausnahmen bei den Speicher-Treibern dokumentiert bleiben.
Bevorzugen Sie Docker, wenn eine Anwendung eine kleine Datenabgrenzung benötigt. Bevorzugen Sie LXC, wenn mehrere Systemdienste zusammengehören. Lehnen Sie beide Anordnungen ab, wenn eine einzige Kompromittierung schreibenden Zugriff auf Backups, die Hypervisor-Steuerung oder die Daten anderer Familienmitglieder ermöglicht.
Vergleichen Sie die Einheit, die Sie patchen und wiederherstellen
Ein Docker-Rollback bedeutet normalerweise, die vorherige Compose-Revision und das Image zusammen mit anwendungskonsistenten Daten wiederherzustellen. Ein LXC-Rollback kann einen gesamten Userspace wiederherstellen, was praktisch ist, aber möglicherweise auch veraltete Pakete, Zugangsdaten und versteckte manuelle Änderungen zurückbringt.
Bauen Sie jeden Kandidaten auf einem Wegwerf-Host neu auf. Stellen Sie bei Docker Definitionen, Geheimnisse und Volumes wieder her; erstellen oder restaurieren Sie bei LXC den Container und überprüfen Sie den Zustand von Paketen, Netzwerk, Geräten und Mounts. Ein einfacher erfolgreicher Test ist ein stärkerer Beleg als ein geringerer Speicherverbrauch im Leerlauf.
Die umfassendere ZimaSpace-Entscheidung zu Grenzen für VM-, LXC- und Docker-Dienste ist der nächste Schritt, wenn weiterhin ein unabhängiger Kernel infrage kommt.
Bedingtes Fazit: Wählen Sie die engste Grenze, die einen Fehler noch eindämmt
Wählen Sie Docker für eine gut verpackte, vertrauenswürdige Anwendung, deren Geräte, Fähigkeiten, Geheimnisse und persistente Pfade ausdrücklich festgelegt und minimal gehalten werden können.
Wählen Sie LXC für eine vertrauenswürdige Linux-Dienstumgebung, die tatsächlich von init, Paketen, mehreren Daemons oder systemweiten Netzwerken profitiert, und verwenden Sie sie nach Möglichkeit weiterhin unprivilegiert.
Wählen Sie keines von beiden, wenn der Workload weitreichende Hostkontrolle benötigt, Eingaben aus nicht vertrauenswürdigen Quellen mit schwerwiegenden Folgen verarbeitet oder eine Kompromittierung des Hostkernels überstehen muss. Dann ist eine VM oder ein separater Rechner keine Überkonstruktion, sondern die fehlende Sicherheitsgrenze.
Produktvergleiche
Mehr zum Lesen

LXC vs. Docker unter Proxmox für App-Updates und Rollbacks
Docker bietet Versionskontrolle auf Anwendungsebene; LXC ermöglicht Rollbacks auf Gastebene. Die bessere Lösung richtet sich nach der kleinsten Zustandseinheit, die Sie sicher wiederherstellen können.

Schlüsselfertiges NAS-Betriebssystem vs. modulares Linux für Einsteiger
Wählen Sie eine schlüsselfertige NAS-Software für geführte Speicherverwaltung; wählen Sie ein modulares Linux, wenn Lernen und die ausdrückliche Kontrolle mehr Eigenverantwortung rechtfertigen.

Reduziert eine NAS-Weboberfläche den Wiederherstellungsaufwand im Vergleich zu einfachem Linux?
Eine NAS-Oberfläche reduziert den routinemäßigen Wiederherstellungsaufwand nur dann, wenn ihr Konfigurationsexport, der Pool-Import und die unterstützten Arbeitsabläufe das ausgefallene System überstehen.

