NEWS
Docker vs. Proxmox
-
@wildbill sagte in Docker vs. Proxmox:
Irgendwie ist man da immer etwas auf das Wohlwollen des Docker-Maintainers angewiesen
du kannst jederzeit auf Basis eines vorhandenen Images per dockerfile einen zusätzlichen Layer mit deinen eigenen Ergänzungen in einem eigenen Image erstellen.
https://docs.docker.com/get-started/02_our_app/ -
@wildbill said in Docker vs. Proxmox:
Spätestens, wenn ich im Terminal was machen muss/will, waren mir die meisten Docker-Images zu kastriert, es haben immer wieder Dinge einfach gefehlt, es gab keine saubere User-Verwaltung usw. Irgendwie ist man da immer etwas auf das Wohlwollen des Docker-Maintainers angewiesen.
Ja, aber das ist doch genau der Grund einen Docker zu nehmen. Bspw muss ich bei meinem ioBroker Setup nichts im Terminal machen, da ich das einfach nicht brauche. Auch bei einem Homebridge Docker muss ich nicht ins Terminal. Das läuft halt.
Wenn ich natürlich was administrieren will/muss, komplexere Installationen usw benötige, dann brauch ich Vollzugriff zu diesem System... dann ganz klar VM.
Bei mir bspw laufen neben ioBroker noch homebridge, owntone-Server und pihole im Docker. Bei allen vieren muss ich eigentlich nichts machen als hin und wieder via portainer ein neues Image zu ziehen.
Zusätzlich läuft noch ein Windows 10 auf einer VM und ein Linux. Beide eher zum testen. -
@oliverio Da mag viel mehr möglich sein, wie sich mir erschließt (bisher erschlossen hat). Aber meines Erachtens eben viel zu kompliziert, erst Recht falls man Einsteiger ran lässt.
LXC oder VM installiere ich und weiss was ich habe. Sieht immer gleich aus, funktioniert immer gleich. Anleitungen aus dem netz, wie man XY aufsetzt oder YZ konfiguriert passen 1:1, da es aufs Gleiche raus kommt, ob ich es bare, als VM oder LXC verwende. Solange das Betriebssystem kompatibel ist, passt es.
XY als Docker installieren mag OK sein, wenn es angeboten wird. Je nach Maintainer/Anleitung ist auch das Konfigurieren einfach. Oftmals ja nur Port durchreichen und data- oder config-ordner reinschieben. Dennoch schon mehr Aufwand als bei LXC oder VM und fehlerträchtiger. Im Docker was nachinstallieren?! Kann schon ausarten. Auf jeden Fall stehen die Chancen gut, dass es nicht mit dem einen Befehl getan ist. Wird auch, je nach Forum/Ansprechpartner/... als verpöhnt angesehen. Docker-Container verwendet man so, wie sie im Image kommen und basta. Wer mehr oder was anderes will, hat wohl das falsche Image.@toralt Nicht falsch verstehen! Ich sehe absolut die Existenzberechtigung für Docker und verwende es auch gerne für spezialisierte Zwecke. Aber ich würde NIE einem Einsteiger z.B. in iobroker empfehlen, das mittles Docker-Container zu tun. Viel zu kompliziert, fehlerträchtig und der Lerneffekt, wie man ein System administriert und in Schuss hält, geht gegen 0. Wie Du ja auch schreibst. Für irgendeinen Dienst, nehmen wir mal einen mosquitto, ist das voll OK und habe ich so auch am Laufen. Aber iobroker ohne Terminal administrieren oder nur mal dort in ein Log schauen oder einen Befehl absetzen, den es im Admin nicht gibt, das ist ja nur das halbe Ding. Wie oft kam es vor, dass im Admin was nicht so geht, wie es soll und erst ein abgesetzter Befehl mit debug im Terminal die Ursache zu Tage bringt?
Pihole ab und an im Terminal aktualisieren schadet auch nix, mal nach dem rechten sehen. Spätestens wenn Du z.B. zwei Pihole mittles keepalived eine IP-Adresse teilen lassen willst, wird es mit den Standard-Dockern für Pihole schwierig, da es dort AFAIK nicht von haus aus verfügbar ist. Dann musst Du schauen, wie Du das rein bekommst, wenn überhaupt, und schon ist es gar nicht mehr so einfach...Aber, wie gesagt, jeder, wie er mag und kann. Wer mit Docker zufrieden ist, soll es sein und verwenden. Wer neu zu iobroker stößt, sollte IMHO aber zwingendst auf bare metal, oder LXC oder VM setzen und die Grundlagen lernen.
Gruss, Jürgen
-
@ch90045 sagte in Docker vs. Proxmox:
Dagegen sehe ich bei Proxmox
jede VM braucht ein komplettes OS
Das ist der Unterschied der für Proxmox spricht.
Du kannst außer mit Containern auch mit VMs arbeiten, die selbstständige Rechner sind und (wenn du denn willst) sogar unterschiedliche OSe haben können. Diese VMs bergen nicht die Probleme die bei "nicht-Wissenden" mit Containern auftreten. -
Also der vergleich Docker vs. Proxmox ist wie Äpfel mit Birnen zu vergleichen.
Proxmox ist ein Betriebssystem bzw. eine Virtualisierungsplattform.
Docker hingegen ist ein Containersystem das man auf einem Betriebssystem installiert und dann Container Ausführt.Richtig wäre also der vergleich Docker vs. LXC, denn LXC ist wie Docker ein Containersystem das man auf einem Betriebssystem installieren kann.
-
Also der Vorteil einer VM ist doch gerade das ein komplettes Betriebssystem in einem komplett simulierten Hardware ist. Ja, es ist größer / fetter. Es werden ggf. mehr Ressourcen gebraucht. Was aber im Jahre 2022 nicht mehr das Problem ist, was sind den 2 CPU Kerne und 4 GB RAM heutzutage.
Die Backups sind größer. Weil eben die komplette VM gesichert wird.
Das ist auch der größte Pluspunkt. Ein Backup der VM an einem anderen Ort (Netzlaufwerk etc.)
Wenn der Host-Server abraucht kannst du die VM auf jedem System auf dem du Proxmox wieder installiert einfach starten. Und so kannst du auch das ganze System umziehen (bei in VMware sogar im laufenden Betrieb von einem System zum anderen)Keine Ahnung inwiefern das mit den Docker Container geht - keine Ahnung ob man einen Synologie Docker Container auch auf einer QNAP oder unter einem Linux mit Docker zum laufen bekommen würde.
-
Eine vm und ein Container benötigt jeweils beides ein komplettes Betriebssystem.
Wie oben geschrieben. Wenn man nur einen speziellen Dienst da laufen lassen hat, dann kann man nur das notwendigste laufen lassen.Wenn einem kurzfristig in einem Container ein Tool fehlt dann kann man das auch über die console nachinstallieren. Allerdings ist es beim Neustart des Containers rückstandsfrei wieder weg.
-
Ok, danke für euren Input - da ich Dinge wie FHEM und IoBroker als SaaS sehe, will ich keinen Zugriff auf das minimale OS unter dem App Layer - da scheint mir Docker die bessere Idee zu sein. Wenn ich ein BS brauche, dann kann ich noch immer etwas auf einem Pi oder einer Synology ausrollen.
Sollte ich mir einen Beelink besorgen, dann wohl als Docker Host.
Gruss
Christian
-
Kleine Anmerkung:
Infrastruktursysteme (DNS, dhcp, Firewalls, Proxy, caches, etc.) sollten nicht in einer VM oder container betrieben werden.
Die werden immer nativ auf Servern betrieben.Bei Firewalls kann man sich streiten wenn es reine application Firewalls sind. Aber Firewalls die netzsegmente schützen definitiv nicht.
-
@oliverio Wer es sich leisten kann, soll das gerne so tun. Nur sehe ich erstens für den "Privatgebrauch" überhaupt kein Problem, derartige Dienste wie beispielsweise Pihole als DNS auf mehrere Proxmox-Nodes so zu verteilen, so dass bei Ausfall eine möglichst automatisch zuschlagende Redundanz vorhanden ist. Entweder, weil der Router mehrere Server gleich mitgibt, oder eben per keepalived mit einer geteilten IP-Adresse.
DHCP, Firewall und Proxy übernimmt bei mir der Router (Edgerouter 4), unter Anderem, weil es mit mehreren VLAN, diversen Routen und dergleichen mit Pihole einfach nicht geht. Ich selbst würde das auch nie auf irgendeinen Proxmox-Host auslagern wollen oder auf einen Raspi oder dergleichen. Aber wenn jemand eine Fritzbox als Router hat und nur ein Netzwerk so sähe ich da überhaupt kein Problem, diese Aufgaben auf ein anderes Gerät "auszulagern". Und wenn einer einen kleinen Proxmox-Node hat, so warum nicht. Selbst in vielen großen Firmen werden derartige Dinge mittlerweile teilweise virtualisiert. Da läuft nicht mehr für jede kleine Aufgabe ein eigener Server. Zumindest in den Firmen, die ich kenne. Und da gehört auch eine größere dazu mit >5000 Ma an einem Standort und viermal so viel weltweit.
Wie gesagt, wer sich privat für jede Aufgabe eigene Hardware hinstellen und leisten will, soll es tun, nur sehe ich da eher keine Vorteile. OK, wenn ein Proxmox-Host mal abschmiert (was er aber normalerweie nicht einfach so tut) dann bricht gleich mehr weg, denn für alles hat man keine Redundanz. Aber wenn ich für 10 Aufgaben 10x Hardware hinstelle, dann habe ich da 10 x mehr Geräte, die kaputt gehen können, mehr Investition, höhere Stromkosten usw. Das gesunde Mittelmaß muss da wohl jeder für sich selbst finden.Gruss, Jürgen
-
@ch90045 said in Docker vs. Proxmox:
Was für mich für Docker spricht:
-
Schmal - es werden nur benötigte Pakete mit installiert
-
Portabel - ich kann die config Dateien und das Setup einfach auf einen anderen Host schieben
-
Rollout ist schnell - ich muss kein OS installieren, ich setze nur einen Service auf
- begrenzt portabel, läuft nur mit Docker oder kompatiblen Lösungen
- Rollout ist ein großer Aufwand, je nach Plattform musst du alles von Hand installieren und es gibt kein zentrales Management (OS, Storage, Backup, Updates, Firewall,..)
Dagegen sehe ich bei Proxmox
- jede VM braucht ein komplettes OS
- grosse Snapshots/Backups
Da ja so viele Proxmox nutzen, übersehe ich anscheinend etwas - nur was?
Christian
- du kannst VM´s oder Container verwenden und hast sämtliche Funktion in einem zentralen Management
- Backups und Snapshots sind ootb möglich und voll integriert
- ZFS ootb dabei, somit benötigen Snapshots kaum Platz und können in nahezu beliebiger Anzahl erstellt werden (zb alle 5 Minuten)
- VM´s sind portabel und können ohne großen Aufwand in anderen Virtualisierungslösungen oder direkt auf einem PC wiederhergestellt werden
- in wenigen Minuten fix und fertig eingerichtet
-
-
@melonea sagte in Docker vs. Proxmox:
@ch90045 said in Docker vs. Proxmox:
Was für mich für Docker spricht:
-
Schmal - es werden nur benötigte Pakete mit installiert
-
Portabel - ich kann die config Dateien und das Setup einfach auf einen anderen Host schieben
-
Rollout ist schnell - ich muss kein OS installieren, ich setze nur einen Service auf
- begrenzt portabel, läuft nur mit Docker oder kompatiblen Lösungen
- Rollout ist ein großer Aufwand, je nach Plattform musst du alles von Hand installieren und es gibt kein zentrales Management (OS, Storage, Backup, Updates, Firewall,..)
Da werfe ich doch mal unraid in den Ring...
-
-
Dieses Thema ist ja schon etwas älter, aber ja immer noch aktuell, darum möchte ich jetzt kein neues öffnen, sondern hier mal in die Runde fragen.
Falls das nicht gewünscht ist, gerne auch verschieben, oder ich mache dann ein neues auf.Ich habe überhaupt keine Ahnung von Docker und von Proxmox hatte ich vor 1-2 Jahren auch keine Ahnung.
Ich wollte mir einen kleinen Server bauen. Er sollte stromsparen rund um die Uhr laufen.
Angefangen wie wahrscheinlich die meisten, habe ich mit einem Pi.
Der war mir schnell zu klein, zu langsam und die Sache mit der SD-Karte hat mir auch nicht gefallen.Dann habe ich etwas länger gesucht und mich dann für einen NUC entschieden. Das habe ich bis heute nicht bereut.
Dann musste ich mir noch überlegen, was ich genau darauf mache.
Damals habe ich mich auch mal kurz mit Docker beschäftigt und eben auch mit Proxmox.
Für mich als Ahnungslosen (auch wenn ich vor über 20 Jahren mal einen IT-Systemelektroniker Ausbildung gemacht habe), hat sich Docker überhaupt nicht erschlossen.
Ich habe aufgegeben, da ich überhaupt nicht verstanden habe, was ich eigentlich jetzt genau tun muss. Dazu muss ich sagen, dass mein Englisch aus den 80er stammt und das auch nur von der Hauptschule. Und auch wenn ich mittlerweile Handwerksmeister und Ingenieur bin, hat sich an den Englisch Kenntnissen nie etwas geändert.
Wahrscheinlich ist und war das mein größtes Problem, dass ich keine Anleitung von 0 bis 100% auf Deutsch gefunden habe.Proxmox hingegen, habe ich recht schnell installiert gehabt und auch verstanden. Inzwischen habe ich mehrere lxc und auch eine VM. VM kenne ich noch aus der Ausbildung und lxc habe ich vom Prinzip auch schnell verstanden.
Eventuell kann mir hier ja einmal einer einfach erklären was Docker genau ist und wie ich da anfangen müsste.
Eventuell würde ich mich dann damit auch auf meine alten Tage doch nochmal auseinandersetzen.Es würde mich jedenfalls freuen.
VG
-
@woupi Meine ehrliche Meinung: Wenn Du mit Proxmox, LXC und VMs gut klarkommst (so wie ich auch) gibt es, in meinen Augen, keinen einzigen Grund sich Docker anzutun. Du gewinnst dadurch nix.
Ich habe ein paar Docker-Container auf der Synology laufen und es ist für mich jedesmal ein Graus, wenn ich da was ändere, ja es beginnt schon das große Zittern, wenn ich nur mal einen Container auf die neueste Version heben will. Ich muss dann jedesmal kurz mal überlegen, wie es genau ging, was ich tun muss und dass ich nix vergesse. In LXC oder VM hau ich die Befehle dazu blind in die Tasten, aber bei Docker ist mir echt alles zu kompliziert.
Es ist OK, um mal schnell was Neues zu starten und schauen, ob es mir überhaupt zusagt. Aber ich sehe Docker als das, was sie (ursprünglich) mal waren: Wegwerfartikel, die man zum Testen mal startet und gut.
Wirklich produktiv für sowas wie iobroker möchte ich Docker definitiv nicht einsetzen. Da fühlte ich mich nicht wohl, zu eingeschränkt und hätte immer das Gefühl, da läuft nix Halbes und nix Ganzes.Gruss, Jürgen
-
MOD-Edit: Vollzitat entfernt
Danke für deine Einschätzung.
So wie Du es beschreibst habe ich es empfunden.
Und ja, dann bleibe ich lieber bei proxmox. Da komme sehr gut mit zurecht und es läuft auch alles echt gut.VG
Sascha -
@woupi sagte in Docker vs. Proxmox:
Es würde mich jedenfalls freuen.
Um auch noch eine Gegenmeinung kundzutun:
Letzlich ist das wie vieles in der IT eine Glaubensfrage und ein Frage, womit man sich tiefer beschäftigen möchte. Mit Vor- und Nachteilen hier und da.
Der Vorteil von Docker ist für mich, dass ich mich an fertigen, ausgereifen Images bedienen kann, die an zwei, drei Stellen an meine Bedürfnisse anpasse und fertig. Keine Installationen, Updates, Unverträglichkeiten und Abhängigkeiten mehr und ich muss mich nicht mehr mit dem x-ten Repository beschäftigen, dass mal wieder der Meinung war, seine Schlüssel auszutauschen. Das machen andere für mich und ich kann mich mit dem beschäftigen, was ich möchte, mit Funktionen.
Wenn eine Docker Umgebung richtig aufgesetzt ist, kann man Updates mit zwei Befehlen auf der Kommandozeile oder drei Klicks auf einer Oberfläche völlig schmerzfrei ausführen. Mittlerweile lasse ich das automatisiert ablaufen, weil es einfach funktioniert.
Die Configs meiner ca. 30 Container und vier Docker-Netzwerke stecken in genau zwei Dateien. Mit diesen zwei Dateien kann ich meine komplette Umgebung von (praktisch) Null aufbauen lassen.
Die Kehrseite: Um eine etwas größere Umgebung aufzubauen, die man auch gut versteht, muss man einmalig richtig Zeit aufwenden. Aber dann hat man eine stabile Landschaft, mit der man absolut keine Bauchschmerzen haben muss.
-
MOD-Edit: Vollzitat entfernt
Danke für deine Meinung.
Hilft mir allerdings leider nicht um zu verstehen, was Docker überhaupt ist und wo ich anfangen müsste.
Da ich das vor 2 Jahren schonmal versucht hatte und gescheitert bin, bleibe ich wohl besser bei proxmox, VM und lxc.VG
Sascha -
@Marc-Berg Immer schön, auch die „Gegenmeinung“ zu hören. Wobei das ja jetzt nichts ist, wo irgendwie gegeneinander gearbeitet wird und man sich partout für eins entscheiden muss.
@woupi Docker war AFAIK ursprünglich wirklich nur zum schnellen Testen gedacht. Du brauchst schnell einen Webserver, evtl. mit MySQL und PHP um kurz eine Seite online zu stellen für Testzwecke oder so? Bevor Du da einen LXC oder eine VM aufsetzt wird kurz ein LAMP-Docker erstellt und läuft. Du brauchst kurz einen MQTT-Server um für ein Event Daten einzusammeln? Docker erstellen und läuft.Da sehe ich auch den WIRKLICH großen Vorteil. Es muss nix groß installiert werden, der Docker-Container bringt alles mit und läuft im Regelfall direkt, egal welches Betriebssystem auf dem Host läuft, Hauptsache Docker wird unterstützt.
Nur sind halt dann mehr und mehr dazu übergegangen, Docker als komplette „Virtualisierungsschicht“ im Dauerbetrieb für alle ihre Anwendungen zu verwenden. Und IMHO war Docker halt genau dafür nicht geacht. Aber, wer damit klar kommt und wem es gefällt, der soll es verwenden. Funktionieren wird dies ja, wenn es korrekt aufgesetzt ist. Und genau da liegt auch der Hase im Pfeffer. Viele Einsteiger denken, Supi, mit Docker muss ich nix installieren, das läuft ja direkt. Und übersehen halt, dass es da doch einiges zu beachten gibt. Sei es korrekte Netzwerkeinrichtung, davon abhängig korrekte Portweiterreichung, einbinden eines persistenten Ordners um Daten außerhalb des Containers zu halten und und und. Und dann kommen halt hier im Forum die ganzen Threads dass nach einem Update des Containers plötzlich alles weg ist, dass Adapter XY sich nicht verbinden kann und so weiter.
Wer sich damit beschäftigt und einarbeitet, der wird damit klar kommen und auch glücklich werden, für die breite Masse, diejenigen die „mal schnell“ iobroker ohne Grundkenntnisse aufsetzen wollen oder die ganzen Klicki-Bunti-User, die ohne Youtube-Anleitung schon daran scheitern, überhaupt Docker zu installieren sehe ich das eher nicht.Gruss, Jürgen
-
Ich bin mal so frei und werfe dazu meinen Standardsatz in den Ring.
Passend zu dieser Aussage:@wildbill sagte in Docker vs. Proxmox:
Docker war AFAIK ursprünglich wirklich nur zum schnellen Testen gedacht
kommt dann mein "Docker-Container sind Wegwerfartikel. Dazu sind sie gedacht".
Wenn man einige - wirklich wenige - Dinge beachtet, sind sie eine erstaunlich einfache Möglichkeit, auch komplexe Szenarien mit wenigen Befehlen (oder beim NAS: Klicks) aufzusetzen.
@woupi
Ich erkläre das immer so:
Container sind keine "Virtualisierungsschicht", sondern lediglich eine "Abstraktion" des darunterliegenden OS.
Das erklärt auch, dass man unter Linux keinen Windows- und unter Windows keinen Linux-Container einrichten kann.
Wer jetzt sagt "stimmt nicht, geht unter Windows", liegt auch daneben, denn es wird nicht das Windows abstrahiert, sondern das WSL (Windows Subsystem for Linux).
Container nutzen die vorhandenen Ressourcen des Host-OS und erzeugen keine virtuellen "neuen Ressourcen".Für ein "einfaches" Setup - also ohne Sondernetze und ähnliches Zeug - gibt es kaum etwas einfacheres als Docker auf einem NAS.
Zumindest solange wie man sich daran hält, die Daten außerhalb des Containers zu persistieren und man keine USB-Geräte in den Container bringen muss. Da fängt dann nämlich der "Spaß" an.@wildbill sagte in Docker vs. Proxmox:
Viele Einsteiger denken, Supi, mit Docker muss ich nix installieren, das läuft ja direkt. Und übersehen halt, dass es da doch einiges zu beachten gibt. Sei es korrekte Netzwerkeinrichtung, davon abhängig korrekte Portweiterreichung, einbinden eines persistenten Ordners um Daten außerhalb des Containers zu halten
Solange man diese Dinge beachtet ist Docker tatsächlich einfach und "läuft direkt".
Ich behaupte mal: Hätte es das auf meiner Synology nicht getan, wäre ich heute nicht hier.
Auch wenn ich mittlerweile auf einen NUC umgestiegen bin und ein ThinkCentre im Anmarsch ist, hat sich ein Update des Containers eigentlich immer auf 3 Schritte beschränkt:- Container stoppen und löschen
- Neuen Container aus aktuellem Image mit identischen Einstellungen erzeugen
- Starten und warten - voilá.
@wildbill sagte in Docker vs. Proxmox:
für die breite Masse, diejenigen die „mal schnell“ iobroker ohne Grundkenntnisse aufsetzen wollen oder die ganzen Klicki-Bunti-User, die ohne Youtube-Anleitung schon daran scheitern, überhaupt Docker zu installieren sehe ich das eher nicht.
Ich würde das unterschreiben und sogar noch einen Schritt weiter gehen:
Für eine "breite Masse ohne Grundkenntnisse" ist ein System wie ioBroker kaum einsetzbar.
Das gilt aber auch für vergleichbare Systeme. Wer die erforderliche Grundkenntnisse nicht hat, wird sie sich aneignen müssen.
Es ist halt keine "out of the box" Lösung, an die man nur noch ein Netzteil prömpelt und schon läuft die Kiste. -
@codierknecht sagte in Docker vs. Proxmox:
Wer die erforderliche Grundkenntnisse nicht hat, wird sie sich aneignen müssen.
eben, da spielt es keine Rolle, ob Docker generell gemeint, LXC/VM, Proxmox, Unraid und was es noch so alles gibt.
Einlesen muss man sich überall(hatte und habe Proxmox im Cluster (noch) am laufen, steig jetzt aktuell mit nem neuen Rechner doch mal auf Unraid um)
(jedes System hat so seine Vor und Nachteile)