NEWS
Docker vs. Proxmox
-
@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
-
@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. -
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) -
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
als die erklärung, das docker nur zum schnellen testen gedacht war muss ich widersprechen. docker bzw. die zugrundeliegende linux-technik "prozessvirualisierung" ist als weiterentwicklung zur virtuellen maschine zu sehen.
eine VM virtualisiert ein komplettes betriebssystem mit allen ein und ausgaben. dadurch muss man dieser maschine auch fest ressourcen zuordnen bspw RAM.
Früher auch Prozessorkerne, aber die Prozessorhersteller haben dann auch virtualisierungsfunktionen auf prozessorebene eingeführt, bei dem auch die prozessorfuntkionalitäten für verschiedene nutzer komplett gekapselt werden können.wenn eine vm das komplette betriebssystem kapsel, dan kapselt docker eine ganze Anwendung + seine Konfiguration. da diese aber oft auch von einem betriebssystem abhängig ist, bringt es das auch noch mit. allerdings kann man das so minimal und klein halten, das nur das enthalten ist, was für die Anwendung notwendig ist.
sehr beliebt dafür aktuell
https://de.wikipedia.org/wiki/Alpine_Linux#:~:text=Das Basissystem in Alpine Linux,ist (ungefähr 130 MB).
für container entwickler die sich nicht soviel gedanken machen wollen, können dann immer noch debian/ubuntu oder eine andere distribution nehmen.in diesen container packst du die anwendung, die basiskonfiguration, stellst dann die wichtigsten konfigurationsmöglichkeiten als sogenannte environvariable fest, legst sogenannte volumes fest, so das sehr einfach die daten, die man ggfs sichern möchte frei definierbar auf die festplatte des hosts gelegt werden können. diese dateibereiche werden dann im dateisystem des containers "eingeblendet".
durch dieses system wird die "installation einer applikation sehr einfach. alle abhängigkeiten und konfigurationen sind im container enthalten. wenn der container entfernt wurde bleibt auch wirklich kein rückstand mehr im aktuellen betriebssystem übrig. so kann man sein hauptsystem clean und einfach halten. idealerweise (das strebe ich an) ist auf dem hauptsystem nix anderes als docker installiert. alle server-anwendungen sind containerisiert und selbst update/upgrade des betriebssystems ist easy, da ich ja auf nix achten muss, was irgendweine anwendung betrifft. einfach alle container-definitionen mit den datei bereichen wegsichern, betriebssystem komplett aufspielen, docker installieren, alle containerdefinitionen und dateibereiche zurückspielen, starten, fertig.
evtl auch noch ein weiteres wort zur praktischen anwendung docker bzw. container (mittlerweile gibt es noch ein paar alternativen) sind heute die basis der ganzen cloud-rechenzentren. die ganze schaar von container in einem rechenzentrum wird über kubernetes gemanaged.
stellt euch vor ihr betreibt eine webseite und morgen habt ihr einen tv oder radiospot und viele leute wollen die webseite anwählen. dann war es früher so, das relativ schnell der rechner überlastet war und die seite nicht zur Verfügung steht. heute kannst du regeln definieren, bei dem dir dynamisch nach anforderung einfach mal schnell neue container mit webservern gestartet werden, die dann die erhöhte anzahl von anfragen abfangen können. diese können dann ebenso dynamisch dann auch wieder beendet werden.wenn du als unternehmen relativ failsafe arbeiten willst, setzt du auch nicht nur ein cloud rechenzentrum ein, sondern mehrere. (evtl auch von verschiedenen anbietern). darüber kann man dann container auch relativ schnell zwischen den standorten und betreibern transferieren.
-
@codierknecht sagte in Docker vs. Proxmox:
"Docker-Container sind Wegwerfartikel. Dazu sind sie gedacht"
Bin da voll und ganz bei dir! Docker-Container sollen so genutzt werden wie diese ausgeliefert werden, da installiert man nichts nach. Funktioniert der Container nicht, schmeisst man den weg und macht einen neuen.
Docker nutzt man für Dinge wo man viele Server (ich schreibe extra nicht VMs) braucht um etwas zu machen, zum Beispiel Webseiten ausliefern. Die Dinger sollen hochfahren, sich ggf. an einem zentralen Broker / Verwaltung melden, sich ihre Aufgabe holen und diese ausführen.
Zickt einer rum wird er abgeschossen und ersetzt.