Performane LXC oder Docker

shgmongo

New Member
Nov 13, 2024
22
1
3
Hallo,

ich habe mal gehört, dass Docker bzw Portainer etwas Ressourcensparender ist, als eine LXC Container. Stimmt dies? Irgendwie ist es nervig einige kleine Programme im Portainer zu betreiben. Zudem ist das Backup von LXC mit PBS deutlich einfacher.

Aber wie ist es mit der Perfomance des Clients? Ich habe einen i7 T8700 mit 32GB Ram.

Eigentlich würde ich gerne alles in einem eigenen LXC Container betreiben.

Gruß,

Sebanstian
 

Attachments

  • Portainer.png
    Portainer.png
    74.5 KB · Views: 12
  • ProxmoConfig.png
    ProxmoConfig.png
    103.9 KB · Views: 12
  • Proxmox.png
    Proxmox.png
    172.3 KB · Views: 12
Generell sollte man portainer oder docker nicht direkt auf dem Host betreiben. Und ebenso generell wird empfohlen so Sachen wie docker, Portainer und Co in einer vm statt in einem lxc zu betreiben, da es dann deutlich unwahrscheinlicher ist, dass es bei einen Upgrade von ProxmoyVE kaputt geht. Beide Varianten ( portainer in vm oder portainer in lxc ) lassen sich problemlos mit PBS sichern
Wie lässt du Portainer denn gerade laufen? Falls direkt auf dem Host würde ich das schnellstmöglich ändern, das ist sehr fragil und für Linux-Neulinge bei Problemen ( etwa Konflikten im Netzwerk zwischen ProxmoxVE und docker) blöd zu debuggen
Zum Thema Nervigkeit: Zig lxcs statt docker-Containern verwalten zu müssen, ist auch nervig.

Ob was mehr Ressourcen braucht, hängt vor allen von der Anwendung ab, ein moderner Egoshooter braucht ja auch mehr als das Original Tetris ;)
 
  • Like
Reactions: Browbeat and UdoB
Eigentlich würde ich gerne alles in einem eigenen LXC Container betreiben.
Generell nehm ich lieber LXC als Docker. Auch PBS läuft im LXC. Und alles, was Docker ist, läuft in einem einzigen Docker-LXC.
Das geht jetzt seit Ende Oktober ziemlich problemlos auf meiner 24/7-Maschine, dem Minisforum N5.
Die kleinen PVE-Updates hat das alles problemlos überstanden. Falls mal wieder ein größeres ansteht, ja dann muß ich vielleicht etwas planen. Und vorher in den einschlägigen Foren schauen, da gibt's meistens genügend early birds, die dann schon ausführlich über Probleme berichten.
 
Portainer ist doch nur eine Verwaltungsoberfläche für Docker und hat ja mit LXC erstmal nix zu tun.

Bei deinem Setup würde ich ein oder mehrere VMs für Docker verwenden, in dieser VM installierst du dann natürlich Portainer oder als Alternative Dockhand.

Frage mich was manche Leute denn an Performance benötigen? Gerade wenn ich so Maschinen wie nen Minisforum N5 habe, würde ich mir im Performance keine Sorgen machen - oder was sind eure Szenarien bezüglich der Anforderungen?

Nutze hier nen N100 mit 16GB RAM mit 25 Containern und habe keinerlei Probleme - u.a. laufen Adguard Home und auch nen eigener Matrix-Server mit PostgreSQL DB in der Umgebung...
 
Last edited:
  • Like
Reactions: Johannes S
Bei mir ging in der VM mit Docker 29 gar nichts kaputt. Wie kommst du drauf, dass da was kaputt ging?
 
Dann hattest Du zu der Zeit womöglich keinen Portainer laufen. Der ging dann nämlich nicht mehr, weil sie noch deprecated api verwendeten ... :rolleyes:
Dann ist übrigens nicht Docker kaputt, sondern Portainer - Hilfe

Edit: leider gibt es hier (noch) kein Automerge..

Portainer hat erstmal null mit Docker zu tun, wann verstehen das die Leute mal?
 
Last edited:
Ich verwende kein Portainer. Wüsste nicht wofür ich das brauche....
Wie schon geschrieben, ist Portainer dann das Problem und nicht Docker. Docker hat die Änderung soweit ich weiß früh genug angekündigt und die API war auch nicht von heute auf morgen einfach da. Selber schuld wenn man die nicht updated.....
 
Junge, Junge - wenn bei nem Docker Update was kaputt gehen sollte, würde die Proxmox Community später als andere davon erfahren...

Docker ungleich Portainer/Dockhand/Konsorten

Wer das nicht versteht, sollte in Docker keine Produktivsysteme nutzen
 
Portainer kann auch unabhängig von einem Docker Update kaputt gehen. Da hat doch Docker nichts mit zu tun. Also war das Update von Docker nie ein Problem.
 
Ich bezog much eher darauf ( was in der Vergangenheit immer wieder vorkam, zuletzt beim Upgrade PVE8 zu PVE9), dass ein Update von ProxmoxVE einen in lxcs laufende docker-Container kaputt macht.
 
Last edited:
  • Like
Reactions: UdoB
Das kann ja nicht unbewältigbar sein. Schlimmstenfalls macht man einen neuen LXC mit Docker und kopiert die Daten vom andern rein. Oder. :)
 
Das kann ja nicht unbewältigbar sein. Schlimmstenfalls macht man einen neuen LXC mit Docker und kopiert die Daten vom andern rein. Oder. :)
Für Leute, die wissen, was sie tun, ist es natürlich nicht unbewältigbar ;) Die Leute in den einschlägigen reddit-subs (r/proxmox, r/homelab etc) sind das aber in der Regel gerade nicht ;) Beim letzten Update hätte ein neuer lxc aber auch nicht geholfen, es gab schlicht durch das Upgrade einen breaking Change (aus Securitygründen) bei AppArmor, darum musste da was angepasst werden (Details kriege ich gerade nicht mehr zusammen, aber hier finden die sich inklusive Erklärung eines Mitglieds des lxc-Upstreams https://bugzilla.proxmox.com/show_bug.cgi?id=7006 )
Frühere Fälle wo ein Update was gebrickt hat:

Und dann soll es ja noch Leute geben (einer schreibt hier gerade ;) ), die grundsätzlich dazu zwar in der Lage sind, aber schlicht keinen Bock darauf haben auch noch privat Server-Hausmeister zu spielen, der Quatsch soll gefälligst funktionieren. Darum habe ich für mich folgende Regel:
  • Anwendung soll per docker oder podman container installiert werden: Kommt in meine Standardanwendung für docker-Container
  • Anwendung will Netzwerkfreigaben: Tendenziell auch eher in eine VM (keine Lust auf Gefrickel mit bind-mounts und genausowenig Lust auf die Securityproblematik von priviligierten lxc-Containern)
  • Anwendung braucht keine Netzwerkfreigaben und lässt sich auch ohne docker-container installieren (pi-hole oder jellyfin sind da gute Beispiele für): Dann als lxc-Container
  • Anwendung soll per docker-container installiert werden, aber braucht z.B. auch Zugriff auf die iGPU o.ä.: Dann in sauren Apfel beißen und als docker- oder podman-Container im lxc installieren.
  • Sobald der oci-Support in ProxmoxVE stabil ist (1), envtl. darüber die Anwendung ans Laufen bringen. Ich mag den Ansatz dahinter aber tbh nicht besonders, da durch das Konvertieren eines oci-Images der meines Erachtens größte Vorteil von oci-Containern (die Unveränderbarkeit der Images) flöten geht.

Der Punkt ist: Ich mache es nur dort, wo es nicht anders geht, damit ich bei einen problematischen Update möglichst wenig reparieren muss. Nun ist mein Ansatz natürlich nicht der Alleinseligmachende, man kann auch zu einen anderen Ergebnis kommen. Aber alleine um so eine Einschätzung treffen zu können, muss man halt schon um die Vor- und Nachteile der einzelnen Varianten kennen und einordnen können. Mein Eindruck ist, dass die wenigsten clickbait-Video-Opfer oder sonstigen Neulinge das können. Ist ja auch keine Schande, wir alle haben einmal angefangen. Aber da ich unterstelle, dass zumindestens ein Teil der Leute das nicht macht um Linux zu lernen, sondern weil die halt ein paar Dienste (Klassiker HomeAssistantOs) mit möglichst wenig Aufwand hosten wollen, finde ich es wichtig den Leuten zumindestens darauf hinzuweisen, dass ein Setup unter dem Aspekt "möglichst keine Überraschungen durch Updates" envtl. etwas suboptimal ist ;)
 
  • Like
Reactions: Impact