NEWS
iobroker Docker Network
-
@ben1983
Ich hatte meinen Container auch immer im Host-Mode.
Macht es deutlich einfacher.
Probleme gibt’s erst, wenn andere Dinge auf der Synology die gleichen Ports verwenden.Bei Bridge musst Du alle Ports benennen, die im Container erreichbar sein sollen. Ob die gleich bleiben oder nicht, spielt da keine Rolle.
Ich würde immer Host empfehlen. Dürfte ziemlich selten sein, dass da Konflikte auftreten die sich nicht anderswo beheben lassen.
Warum Redis?
Hast Du so viele Objekte? -
@codierknecht war eine Idee.
Die Frage ist, ob es mir halt wirklich viel bringt?Ok. Host empfohlen klingt schon mal nicht schlecht… hatte bissi rum geschaut und auch direkt bei buanet wird ja der Bridge Mode gezeigt….
Wegen dem angeben lief dann bestimmt auch manches nicht… keine Ahnung was in alles verwendet (an Ports) 3064 oder so… -
@ben1983
Wie so oft: "es kommt darauf an".Wenn du nur 1-3 Container betreibst, ist der Host Modus sicher der einfachste und man muss sich keine großen Gedanken machen. Wenn man aber mehr Container im Einsatz hat, kommt man ganz schnell mit doppelt vergebenen Ports in Konflikt und du hast kaum eine andere Wahl, als auf Bridge und MACVLAN zu wechseln.
Ich find's ziemlich angenehm, mal schnell eine Testumgebung z.B. aus ioBroker, InfluxDB, Grafana, redis hochzufahren und nach dem Test wieder wegzuwerfen. Im Hostmodus wäre das ungleich schwerer. Zusammen mit Stacks/Compose wird dynamisch ein neues Bridge-Netzwerk erzeugt und wieder gelöscht, wenn man den Stack beendet. Das ganze läuft dann völlig isoliert und ich muss keine Angst haben, versehentlich auf die falsche Redis-DB zu schreiben. In Summe betreibe ich ca. zwanzig Container im Bridge- und drei im MACVLAN, dazu die Testinstallationen, im Hostmodus unmöglich.
Aber wie gesagt, kleinere Umgebungen würde ich im Hostmodus betreiben, da gehst du einigen Problemen aus dem Weg.
-
@marc-berg danke für den Input.
Was sind denn in deinen Augen „kleinere“ Umgebungen?
Und weißt Du, welche Ports iobroker (von Haus aus) im Bridge Mode alle benötigt?Hast Du ein gutes Compose file, was einen ioBroker Container mit Redis erstellt?
Ps. Ich muss aber doch auch schauen, dass ich nicht bspw. in 2 Containern (in unterschiedlichen Bridge Netzwerken) den gleich Port angebe. Oder?
-
@ben1983 sagte in iobroker Docker Network:
Was sind denn in deinen Augen „kleinere“ Umgebungen?
Das musst du schon selbst wissen. Je nach eingesetzten Containern kommt man mal schneller in Portkonflikte, mal weniger schnell.
Und weißt Du, welche Ports iobroker (von Haus aus) im Bridge Mode alle benötigt?
Hast Du ein gutes Compose file, was einen ioBroker Container mit Redis erstellt?Hier mein Teststack, ob das gut ist, weiß ich nicht. Für mich funktioniert es. Dort sind auch die Ports kommentiert, die ich für ioBroker benötige. Vielleicht kannst du da ein paar Infos rausziehen.
Ps. Ich muss aber doch auch schauen, dass ich nicht bspw. in 2 Containern (in unterschiedlichen Bridge Netzwerken) den gleich Port angebe. Oder?
ja, genau.
-
@marc-berg ok. Ich schaue mal rein….
Wenn ich bspw. Einen Container xy mit einem zugehörigen Redis Container habe (beide in einem Stack)
Dann müsste ich die Redis nicht über einen Port nach außen „Mappen“, oder?
Wie weise ich es dann dem Container zu, der damit kommuniziert ? -
@ben1983 sagte in iobroker Docker Network:
Wie weise ich es dann dem Container zu, der damit kommuniziert ?
einfach den Namen des Containers bzw. den Hostnamen nehmen, steht auch so im Stack. Dort wird von ioBroker "redis2" zur Kommunikation verwendet. Ich hab den Port nur deshalb gemappt, damit ich bei Bedarf mal per "Another Redis Desktop Manager" auf die DB schauen kann. Sonst wäre das Mapping unnötig, ja.
-
@marc-berg ich finde aber bei deinem Stack keinen Hostnamen „Redi2“ nur „redis“.
Und wenn ich den Port nicht Mappe…. Was gebe ich dann bei der Environment Variable an?das sind alles informative Fragen…
Wichtig:
Würdest Du sagen wenn es läuft bleib auf Host?
Und redis wann sinnvoll, wann nicht? -
@ben1983 sagte in iobroker Docker Network:
ich finde aber bei deinem Stack keinen Hostnamen „Redi2“ nur „redis“.
Richtig, das hatte ich mal auf "redis" umgestellt, damit ich ein Backup aus der Prod 1:1 in der Test verwenden kann. Der Container heißt "redis2" (muss ja eindeutig sein) und der Hostname, unter dem der Container angesprochen wird, heißt "redis". Durch die Isolation der beiden Bridge-Netzwerke kein Problem.
-
@ben1983 sagte in iobroker Docker Network:
Würdest Du sagen wenn es läuft bleib auf Host?
Und redis wann sinnvoll, wann nicht?Ich glaube, es gab hier (auch in vielen anderen Threads) reichlich Input und Argumente pro/contra. Entscheiden musst du selbst, nur du weißt, was du in Zukunft noch vor hast. Vieles ist auch eine Glaubens-, Wissens- und "Prinzip"-Frage. Ich möchte z.B. aus Prinzip möglichst jeden Dienst in einem separaten Container laufen lassen. Weil ich denke, dass dafür Docker gemacht ist und ich weiß, dass ich die Technik weitestgehend im Griff habe.
-
@marc-berg ok.
Also, wenn die angegebene Ports so reichen, dann könnte ich es mal versuchen.
Müsste aber bei benutzen von weiteren Ports wie bspw. 1883 oder 8883 die Mappen. Richtig?
Da wäre ja wieder Host einfacher, das es mir einfach egal sein kann.Vielleicht schritt für schritt und erst mal abwägen, ob Redis überhaupt interessant für mich ist.
Vielleicht iobroker wegen Ports wie mqtt, Webserver, vis usw. Einfach erst mal im Host Mode lassen. Ist denn auf redis einfach umzustellen und das läuft stabil und man kann es beruhigt laufen lassen? Und bringt es wesentlich mehr Performance?
Aktuell läuft der Vontainer wie gesagt auf der Synology und ich habe 2,5GB von 18 aus dem RAM genutzt (gesamtes System) -
@marc-berg so ganz habe ich das Konzept mit Container, Container_Name und hostname noch nicht geschnallt.
Könnte ich in meinem Stack, der einen iobroker Container im Host Mode erzeugt eine Redis hinzufügen?
Wäre es da sinnvoll dort keinen netzwrrkmode anzugeben und somit Bridge zu erzeugen?
Dann müsste ich dort den containernsme und den Port der Redis angeben?