Alles als Docker Container nutzen oder doch eher einzeln installieren?

Answer

Cadet 2nd Year
Registriert
Nov. 2018
Beiträge
26
Hallo,


ich nutze einen PI 4 für verschiedene kleinere Aufgaben, welche bisher eigentlich ganz gut darauf laufen. Demnächst werde ich ihn aber komplett neu aufsetzten müssen und stehe daher nun vor der Frage, ob ich nochmal jede einzelne Anwendung einzeln auf dem PI installiere oder sie einfach als Docker drauf laufen lasse und mit Portainer verwalte. Macht das am Ende denn einen großen Unterschied oder hat eine der beiden Möglichkeiten einen wirklichen Vorteil (oder sollte man sogar eine Mischung aus beiden fahren)? Ich denke mir einfach nur, dass bei einer Dockerinstallation das Hauptsystem möglichst unberührt bleibt und man diese zudem einfach sichern und auf ein neues System übertragen kann. Um folgende Anwendungen handelt es sich aktuell:


-Zway

-Grafana

-Influx/Prometheus

-PIHole


Der Grund weshalb ich überlege auf die Dockervariante umzusteigen war der, dass ich diese verschiedene Visualisierungen mittels Prometheus und Grafana umsetzten wollte, allerdings habe ich es einfach nicht auf dem PI hinbekommen. Mittels Docker soll dies wohl um einiges leichter sein, da es hier bereits vorgefertigte Docker gibt.

PS: ich war mir nicht ganz sicher, in welchen Bereich diese Frage kommt, deshalb bitte einfach verschieben, wenn es hier nicht passt.
 
Im Grunde sagst du es schon selbst: Das Host-System bleibt unangetastet und man kann es einfach umziehen / nach einem Problem wiederherstellen.

Dazu kommen sich die Dienste nicht gegenseitig in die Quere (ich hatte z.B. mal das Problem, dass PiHole bei jedem Update seinen eigenen Webserver wieder installiert hat, und dann der Apache für den Rest nicht starten konnte...). Bin da mittlerweile auch bei Adguard gelandet.

Persönlich packe ich mittlerweile alles in Container, was geht. Bessere Trennung, schnellerer Umzug & Wiederherstellung.

Auf dem Pi müsstest du nur mal prüfen, ob das von der Leistung für das reicht, was du willst. Docker auf Linux ist zwar schon ziemlich effizient, aber ein gewisser Mehrbedarf ggü. einer Bare-Metal Installation bleibt.
 
  • Gefällt mir
Reaktionen: AlphaKaninchen
Autokiller677 schrieb:
Im Grunde sagst du es schon selbst: Das Host-System bleibt unangetastet und man kann es einfach umziehen / nach einem Problem wiederherstellen.
Kann dem nur zustimmen. Wenn du mehre Services betreiben willst, ist es "schnell" ratsam diese in Container zu packen - mein Pihole läuft zwar noch native, aber es ist noch nicht migriert zum TrueNas Server :D -> dort laufen alle Services in Jails (BSD variante von containers) - aber mehre Services auf dem gleichen Host müssen gut abgestimmt werden, damit man eben keine Library Issues bekommt, oder plötzlich 2 unterschiedliche Webserver auf dem Port 80/8080 etc starten wollen :D
 
es kommt eben wie immer drauf an...
außerdem hat jeder andere Vorlieben!

ich persönlich sehe das so: ein "wackeliger Container Stapel" mit eigenem Netzwerk, persistenten Volumes, Secrets usw. ist ja auch nicht mehr soooo einfach zu pflegen, bzw. muss man schon ein bisschen wissen was man da macht. Wenn man immer nur YouTube Anleitungen abtippt, dann kann man sich da auch schnell verrennen.

laufen auf dem Rechner mehrere "Projekte" parallel und jedes davon braucht z.B. eine eigene, spezielle Datanbank Instanz, dann ist es natürlich sehr praktisch, wenn man die per Container einfach separieren kann und jeder Inkompatibilität direkt aus dem Weg geht.

ich habe das bisher eigentlich immer so gelöst: Weg des geringsten Widerstands!
d.h. einfach die Lösung genommen, die am schnellsten zum Ziel geführt hat. Mein FHEM läuft z.B. nativ und andere Dinge (z.B. Test-Installationen für Snipe-IT und NetBox) als Container, eben auch gerade deshalb, weil man sich "nach herzenslust austoben kann", ohne Angst haben zu müssen, etwas kaputt zu spielen ;)
 
  • Gefällt mir
Reaktionen: guzzisti und BeBur
Du hast einen ganzen zusätzlichen Layer Komplexität, das kann störend sein bei der Fehlerbehebung und natürlich auch ganz neue Fehler einbringen, die du dann lösen musst. Wenn man nicht vertraut ist mit Docker kann das alles sehr ätzend werden.
Answer schrieb:
man diese zudem einfach sichern und auf ein neues System übertragen kann.
Kannst du nicht einfach die SD Karte speichern/kopieren?

Answer schrieb:
Mittels Docker soll dies wohl um einiges leichter sein, da es hier bereits vorgefertigte Docker gibt.
Docker Container sind was das angeht kaum etwas anderes als eine Reihe von Shell-Kommandos, nacheinander ausgeführt. Die wesentlichen Konfigs kann man sich eventuell recht leicht aus dem Dockerfile extrahieren.

Answer schrieb:
dass ich diese verschiedene Visualisierungen mittels Prometheus und Grafana umsetzten wollte, allerdings habe ich es einfach nicht auf dem PI hinbekommen
I feel you :D.
 
BeBur schrieb:
Kannst du nicht einfach die SD Karte speichern/kopieren?
Auf einen anderen PI - ja. Auf ein anderes System / Deployment in "die Cloud" auf eine VM - eher nicht.

Einen Compose-File kann man einfach rüber kopieren, sollte dann laufen.
 
Zurück
Oben