Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. iobroker Docker Network

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    iobroker Docker Network

    This topic has been deleted. Only users with topic management privileges can see it.
    • Codierknecht
      Codierknecht Developer Most Active @Ben1983 last edited by Codierknecht

      @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?

      Ben1983 1 Reply Last reply Reply Quote 0
      • Ben1983
        Ben1983 @Codierknecht last edited by

        @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…

        Marc Berg 1 Reply Last reply Reply Quote 0
        • Marc Berg
          Marc Berg Most Active @Ben1983 last edited by Marc Berg

          @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.

          Ben1983 1 Reply Last reply Reply Quote 0
          • Ben1983
            Ben1983 @Marc Berg last edited by Ben1983

            @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?

            Marc Berg 1 Reply Last reply Reply Quote 0
            • Marc Berg
              Marc Berg Most Active @Ben1983 last edited by

              @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.

              version: "3"
              services:
              ##### INFLUXDB2A #####
                influxdb2a:
                  container_name: influxdb2a
                  image: influxdb:2.7-alpine
                  hostname: influxdb2a
                  restart: unless-stopped
                  networks:
                    test:
                  volumes:
                    - /opt/docker/influxdb2a:/var/lib/influxdb2
                    - /opt/docker/influxdb2a/etc:/etc/influxdb2
                    - /etc/localtime:/etc/localtime:ro
                  environment:
                    - INFLUXD_LOG_LEVEL=warn
                  ports:
                    - "8386:8086"
              ##### GRAFANA #####
                grafana2:
                  container_name: grafana2
                  image: grafana/grafana:latest
                  hostname: grafana2
                  restart: unless-stopped
                  networks:
                    test:
                  volumes:
                    - /etc/localtime:/etc/localtime:ro
                    - /opt/docker/grafana2/etc/:/etc/grafana/
                    - /opt/docker/grafana2/var/lib/:/var/lib/grafana/
                    - /opt/docker/grafana2/var/log/:/var/log/grafana/
                  ports:
                    - "3300:3000"
                  environment:
                    - TZ=Europe/Berlin
                    - GF_AUTH_ANONYMOUS_ENABLED=true
              ##### IOBROKER2 #####
                iobroker:
                  container_name: iobroker2
                  image: buanet/iobroker:latest-v9
                  hostname: iobroker
                  restart: unless-stopped
                  networks:
                    test:
                  volumes:
                    - /opt/docker/iobroker2:/opt/iobroker
                    - /opt/docker/userscripts:/opt/userscripts
                  ports:
                    - "8381:8081" #ioBroker
                    - "8382:8082" #Web Adapter/REST API
                    - "8091:8091" #Backitup
                    - "9081:9081" #Backitup
                    - "9082:9082" #Backitup
                    - "1380:1880" #Node-Red
                  environment:
                    - IOB_BACKITUP_EXTDB=true
                    - PACKAGES=influxdb2-cli redis-tools
                    - IOB_OBJECTSDB_TYPE=redis
                    - IOB_OBJECTSDB_HOST=redis2
                    - IOB_OBJECTSDB_PORT=6379
                    - IOB_STATESDB_TYPE=redis
                    - IOB_STATESDB_HOST=redis2
                    - IOB_STATESDB_PORT=6379
                    - DEBUG=false
              ##### INFLUXDB1 #####
                influxdb1:
                  container_name: influxdb1
                  image: influxdb:1.8-alpine
                  hostname: influxdb1
                  restart: unless-stopped
                  networks:
                    test:
                  volumes:
                    - /opt/docker/influxdb1:/var/lib/influxdb
                    - /opt/docker/influxdb1/etc:/etc/influxdb
                    - /etc/localtime:/etc/localtime:ro
                  environment:
                    - INFLUXDB_BIND_ADDRESS=0.0.0.0:8088
              ##### REDIS #####
                redis:
                  container_name: redis2
                  hostname: redis
                  image: redis:alpine
                  restart: unless-stopped
                  command: redis-server /usr/local/etc/redis/redis.conf
                  volumes:
                    - /opt/docker/redis2/data:/data
                    - /opt/docker/redis2/etc:/usr/local/etc/redis
                    - /etc/localtime:/etc/localtime:ro
                  networks:
                    test:
                  ports:
                   - "6380:6379"
              ##### NETWORKS #####
              networks:
                test:
                  driver: bridge
                  name: test
                  enable_ipv6: true
                  ipam:
                    config:
                      - subnet: "fd00:1000:cccc::/64"
                        gateway: "fd00:1000:cccc::1"
                      - subnet: 192.168.3.0/24
                        gateway: 192.168.3.1
              

              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.

              Ben1983 1 Reply Last reply Reply Quote 0
              • Ben1983
                Ben1983 @Marc Berg last edited by

                @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 ?

                Marc Berg 1 Reply Last reply Reply Quote 0
                • Marc Berg
                  Marc Berg Most Active @Ben1983 last edited by

                  @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.

                  Ben1983 1 Reply Last reply Reply Quote 0
                  • Ben1983
                    Ben1983 @Marc Berg last edited by

                    @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?

                    Marc Berg 2 Replies Last reply Reply Quote 0
                    • Marc Berg
                      Marc Berg Most Active @Ben1983 last edited by Marc Berg

                      @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 1 Reply Last reply Reply Quote 0
                      • Marc Berg
                        Marc Berg Most Active @Ben1983 last edited by

                        @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.

                        Ben1983 1 Reply Last reply Reply Quote 0
                        • Ben1983
                          Ben1983 @Marc Berg last edited by Ben1983

                          @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)

                          1 Reply Last reply Reply Quote 0
                          • Ben1983
                            Ben1983 @Marc Berg last edited by

                            @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?

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate
                            FAQ Cloud / IOT
                            HowTo: Node.js-Update
                            HowTo: Backup/Restore
                            Downloads
                            BLOG

                            880
                            Online

                            32.0k
                            Users

                            80.5k
                            Topics

                            1.3m
                            Posts

                            3
                            13
                            330
                            Loading More Posts
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes
                            Reply
                            • Reply as topic
                            Log in to reply
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            The ioBroker Community 2014-2023
                            logo