Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. IoBroker Docker Image mit MACVLAN möglich?

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    IoBroker Docker Image mit MACVLAN möglich?

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

      @ben1983 sagte in IoBroker Docker Image mit MACVLAN möglich?:

      Ports: - 8080:8080

      Die Stelle finde ich jetzt in keinem der beiden Links.

      Ist aber egal, im MACVLAN macht man keine Portmappings. Alle Ports sind erreichbar.

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

        @marc-berg Oh, sorry, es war:

        - 8081:8081
        

        aber in dem Bereich "bridge".

        Das die Ports im MACVLAN durchgereicht werden, ist jetzt soweit klar... kann man sie aber überhaupt "ummappen"?
        Oder geht das bei MACVLAN generell nicht?

        Ps. würdet Ihr generell empfehlen statt network_mode: host auf MACVLAN zu gehen?
        Ich müsste dann natürlich alle shellys und was eben auf meinen ioBrokerzugreift auf eine andere ip einrichten.
        Oder eher auf host laufen lassen, wenn alles soweit läuft?

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

          @ben1983 sagte in IoBroker Docker Image mit MACVLAN möglich?:

          aber in dem Bereich "bridge".

          Gut, das hat dann hier nichts mit dem Thema MACVLAN zu tun.

          Das die Ports im MACVLAN durchgereicht werden, ist jetzt soweit klar... kann man sie aber überhaupt "ummappen"? Oder geht das bei MACVLAN generell nicht?

          Nein, kann man nicht. Aber warum sollte man das auch tun!?

          Ps. würdet Ihr generell empfehlen statt network_mode: host auf MACVLAN zu gehen?

          Wenn du mit dem "Host" Modus keine Probleme hast, würde ich es so lassen. Mit MACVLAN handelst du dir wieder eine Schicht mehr Komplexität ein, die zu Fehlern führen könnte.
          Eine generelle Empfehlung kann man wohl kaum aussprechen, dafür sind die jeweiligen Anforderungen zu unterschiedlich. Wenn man nur ein oder zwei Container hat und sich die Ports nicht in die Quere kommen, kann man sicher den Host Modus nutzen und muss sich nicht mit Portfreigaben beschäftigen.

          Bei mir betreibe ich zwanzig Container, alle bis auf zwei in Bridge-Netzwerken. Die restlichen beiden habe ich im MACVLAN. Aber nur, weil sie Broadcasts nutzen bzw. mit den Systemports des Hosts in Konflikt kommen würden.

          Oder eher auf host laufen lassen, wenn alles soweit läuft?

          Wenn alles läuft, würde ich es so lassen. Es sei denn, du möchtest tiefer in das Thema eintauchen und dich mit Subnetting beschäftigen. Dann wäre dies eine gute Übung.

          Ben1983 2 Replies Last reply Reply Quote 0
          • Ben1983
            Ben1983 last edited by

            @marc-berg top. Danke.

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

              @marc-berg ich habe quasi den ioBroker Container und 2-3 im Host. Paar andere wie paperless oder so in einem Stack erzeugt und im Bridge und habe jetzt mal heimdall im MacVlan.

              Also es läuft alles und ich denke influx und grafana werde ich nicht weiter nutzen.
              Also wäre es nur noch ioBroker im Host.
              Also dann ruhig so lassen. Richtig?
              Habe zumindest mal einen Stack erstellt zur schnellen generierung bei Updates.

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

                @marc-berg jetzt habe ich um Discord diese Anwort bekommen.

                D473CA17-47E1-4399-9B16-CA93F552E773.jpeg

                Was sagst Du dazu?

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

                  @ben1983 sagte in IoBroker Docker Image mit MACVLAN möglich?:

                  Was sagst Du dazu?

                  Oh dear...

                  Ich glaube, dazu ist hier und auf Discord bereits alles gesagt worden, nur noch nicht von jedem.
                  Meine Meinung habe ich oben begründet. Jetzt musst du nur noch alles bewerten und ... tun.

                  Ben1983 1 Reply Last reply Reply Quote 1
                  • Ben1983
                    Ben1983 last edited by

                    @marc-berg ok. Denke dann lasse ich es erst mal beim networkmode host.
                    Sonst müsste ich auch bspw. Alle mqtt Clients auf einen anderen Broker einstellen usw.

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

                      @marc-berg Nur nochmal zum Verständnis... Beim MACVLAN kann es doch auch dazu kommen (da man kein Portmapping machen kann), dass man eine Doppelbelegung eines Ports durch 2 Anwedungen bekommt. (Wenn diese standardmäßig den gleichen Port nutzen).
                      Das bekomme ich doch nur durch ein mapping im bridge netzwerk weg, oder?

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

                        @ben1983

                        Also ich würde hier einigen Dingen widersprechen.
                        Auch mit macvlan macht man portmappings. Allerdings gibt es keine Notwendigkeit Container Ports auf andere Ports umzubiegen, da der Container ja seine eigene ip Adresse erhält und es dadurch zu keinen portkollisionen kommen kann wie im Bridge Modus, wo man mehrere Container auf die Ports des Host Systems Mappen will.

                        Macvlan bedeutet nix anderes als das eine virtuelle netzwerkkarte
                        Simuliert wird und der Container dann fast wie eine vm funktioniert.
                        Die einzige Einschränkung , die ich kenne ist, das der Container den host netzwerktechnisch nicht ohne weiteres erreichen kann.
                        Daher sollte man dem Container dann zusätzlich noch das Bridge Netz zuweisen. Aber eigentlich ist das nur in Ausnahmefällen notwendig

                        Ich selbst betreibe 2 Iobroker docker Container mit macvlan (prod und test). Der prodcontainer läuft dann zusammen mit einem Redis Container. Der Redis benötigt allerdings keine eigene ip aus dem lan.

                        Was ich nicht ausprobiert habe ist, ob alle Ports automatisch von außen erreichbar sind. Ich würde sagen, nein. Ein Service im Container der auf einem Port hört, wenn der nicht im docker Aufruf oder docker-compose definiert wurde wird nicht von außen durchgereicht.
                        Von innen heraus können allerdings alle Ports nach außen genutzt werden.

                        Ben1983 Marc Berg D 3 Replies Last reply Reply Quote 0
                        • ?
                          A Former User @Ben1983 last edited by

                          @ben1983 sagte in IoBroker Docker Image mit MACVLAN möglich?:

                          dass man eine Doppelbelegung eines Ports durch 2 Anwedungen bekommt.

                          Moin,

                          es gibt einen Standard, wer welchen Port nutzt, nur wenn man(n) da händisch herumpfuscht, kann es auf einem Server zu Problemen kommen.
                          Hier mal wieder die Seite mit den Ports und welche man selbst nutzen sollte -> https://de.wikipedia.org/wiki/Liste_der_standardisierten_Ports

                          Wenn Du in einem Docker Container, zwei Applikationen hast, die den gleichen Port nutzen, dann ist da was faul, sind es zwei Docker Container, logischerweise dann mit unterschiedlichen IPs, kann der Port identisch sein, da ja die Aufrufe immer ip:port ist.
                          Oder ich verstehe Dich nicht?

                          VG
                          Bernd

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

                            @oliverio @dp20eic
                            Ich meinte es so:
                            Wenn ich bspw. aus ioBroker heraus zwei Applikationen ansprechen möchte, die den gleichen Port haben:
                            sagen wir: 192.168.2.10:8080 und 192.168.2.11:8080, dann ist ds ja vollkommen legitim, da es ja auf zwei verschiedenen ips / systemen läuft.
                            Der ioBroker aber möchte mit beiden Reden. Ist es nicht für Ihn der gleiche Port, oder zählt bei der Benutzung der Ports immer noch die ip mit in die Kombination?

                            Wenn es nicht zwei externe systeme wären, sondern zwei conatainer, dann müsste ich sie mindestens in briged netzworks bringen und bspw. bei einem den port ummappen, oder?

                            @OliverIO Echt geht ein Portmapping bei MACVLAN? Bei mir gibt es im Portainer dann immer einen Fehler...
                            Ps. Es ist also immer eine Kombination IP:PORT => Dann stimmt es natürlich. dann bräuchte man sie nicht ummappen.

                            ? OliverIO 2 Replies Last reply Reply Quote 0
                            • Ben1983
                              Ben1983 @Guest last edited by

                              @dp20eic Wenn ich in einem Stack nichts angebe, dann erzeugt er ja ein bridged network.
                              Kann den stack auch einem erzeugten briged network zuweisen, aber nicht dem systemseitigen "bridge", da meckert er. Geht das mit einem Stack nicht?

                              1 Reply Last reply Reply Quote 0
                              • ?
                                A Former User @Ben1983 last edited by A Former User

                                @ben1983 sagte in IoBroker Docker Image mit MACVLAN möglich?:

                                Moin,

                                Wenn ich bspw. aus ioBroker heraus zwei Applikationen ansprechen möchte, die den gleichen Port haben:
                                sagen wir: 192.168.2.10:8080 und 192.168.2.11:8080, dann ist ds ja vollkommen legitim, da es ja auf zwei verschiedenen ips / systemen läuft.
                                Der ioBroker aber möchte mit beiden Reden. Ist es nicht für Ihn der gleiche Port, oder zählt bei der Benutzung der Ports immer noch die ip mit in die Kombination?

                                Aus Sicht des ioBroker's sind das zwei völlig unterschiedliche Dinge.
                                Zwei Beispiele, mal sehen ob Du erkennst was was ist 🙂

                                1. eine Straße, Name Hauptstraße 1, ein Wohnblock mit 4 Parteien -> Du möchtest jeder Partei ein Brief schicken dann ist das
                                  • Hauptstraße 1:Partei_1
                                  • Hauptstraße 1:Partei_2
                                  • Hauptstraße 1:Partei_3
                                  • Hauptstraße 1:Partei_4
                                2. Mehrere Straßen, Namen Hauptstraße, Weg, Kreuzweg und Stichstraße, Einfamilienhäuser Hausnummer 1, dann wird daraus
                                  • Hauptstraße:Hausnummer_1
                                  • Weg:Hausnummer_1
                                  • Kreuzweg:Hausnummer_1
                                  • Stichstraße:Hausnummer_1

                                @ben1983 sagte in IoBroker Docker Image mit MACVLAN möglich?:

                                Wenn es nicht zwei externe systeme wären, sondern zwei conatainer, dann müsste ich sie mindestens in briged netzworks bringen und bspw. bei einem den port ummappen, oder?

                                Das verstehe ich nicht!

                                VG
                                Bernd

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

                                  @dp20eic na die Container im bridged network sind ja von außen über HostIp:Port zu erreichen.
                                  Wenn hier zwei Container mit den gleichen Ports (intern) laufen, dann müsste ich ihn ja ummappen, sonst wäre er ja nicht zu erreichen, bzw. Wäre doppelt.

                                  Das andere Thema meinte ich gerade anders herum. Nicht nach Hauptstraße:Hausnummer1
                                  Sondern von Hauptstraße:Hausnummer1
                                  Also Hintergrund:
                                  Wenn ich zwei Adapter hätte, die auf den gleichen Port zugreifen, geht das doch nicht, oder?

                                  Also man kann ja wie bspw. Beim MQTT also Broker Verbindung zu mehreren Clients haben, weil die eben den Port ansprechen und der mqtt Broker als einzige Anwendung diesen Port nutzt.
                                  Eine zweite Anwendung kann dies aber nicht mehr nutzen, oder?

                                  Gemeint war nun, wenn zwei Anwendungen mit identischem Port in zwei Containern laufen, geht das ja. Aber der iobroker kann nicht auf beide zugreifen, da man ja im iobroker nichts zwei Adapter mit dem gleichen Port belegen.

                                  Also wenn bspw. Zwei MQTT Broker extern wären und beide mit Port 8082… dann wäre es ja ip1:8082 und ip2:8082
                                  Aber: ich kann ja keine zwei mqtt Adapter als Client auf Port 8082 konfigurieren, oder?

                                  Oder eben, wenn es zwei komplett andere Anwendungen wären, die den gleichen Port haben standardmäßig bspw. 8082.
                                  Wie sollte man da aus ioBroker heraus lösen, ohne dass man bei den externen Containern den Port ändert/ummappt?

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

                                    @oliverio sagte in IoBroker Docker Image mit MACVLAN möglich?:

                                    Also ich würde hier einigen Dingen widersprechen.
                                    Auch mit macvlan macht man portmappings.

                                    Aha, interessant. Und was mapps du dann wo hin?

                                    Allerdings gibt es keine Notwendigkeit Container Ports auf andere Ports >umzubiegen, da der Container ja seine eigene ip Adresse erhält und es >dadurch zu keinen portkollisionen kommen kann wie im Bridge Modus, wo >man mehrere Container auf die Ports des Host Systems Mappen will.

                                    Richtig, und da jeder Container im MACVLAN seine eigene IP im physischen Netzwerk erhält, benötigt man kein Mapping.

                                    Was ich nicht ausprobiert habe ist, ob alle Ports automatisch von außen erreichbar sind. Ich würde sagen, nein. Ein Service im Container der auf einem Port hört, wenn der nicht im docker Aufruf oder docker-compose definiert wurde wird nicht von außen durchgereicht.

                                    Das ist falsch. Natürlich sind alle Ports über die IP des Containers erreichbar. Ohne jedes Mapping.

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

                                      @marc-berg

                                      Am Beispiel eines Webserver der im Container auf Port 80 läuft, könnte ich auch auf 8081 mappen

                                      Dazu gebe ich bei Aufruf dann -p 8081:80 an
                                      Dadurch habe ich ihn gemappt
                                      Da man bei macvlan eine eigene ip hat benötigt man das eigentlich nicht, dann gebe ich einfach nur -p 80:80 an. Das nenne ich portmapping
                                      Und Docker nennt das auch so
                                      https://docs.docker.com/network/#published-ports

                                      Zum: das ist falsch

                                      Hier ein Ausschnitt aus dem selben Kapitel der Docker Doku
                                      By default, when you create or run a container using docker create or docker run, the container doesn't expose any of its ports to the outside world. Use the --publish or -p flag to make a port available to services outside of Docker.

                                      Wie oben schon geschrieben geht es hier um Ports die von außen erreichbar sind. Ports von innen nach außen auf anderen Geräten sind alle offen.

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

                                        @ben1983 sagte in IoBroker Docker Image mit MACVLAN möglich?:

                                        @oliverio @dp20eic
                                        Ich meinte es so:
                                        Wenn ich bspw. aus ioBroker heraus zwei Applikationen ansprechen möchte, die den gleichen Port haben:
                                        sagen wir: 192.168.2.10:8080 und 192.168.2.11:8080, dann ist ds ja vollkommen legitim, da es ja auf zwei verschiedenen ips / systemen läuft.
                                        Der ioBroker aber möchte mit beiden Reden. Ist es nicht für Ihn der gleiche Port, oder zählt bei der Benutzung der Ports immer noch die ip mit in die Kombination?

                                        Wie schon geschrieben. Das Mapping betrifft nur von außen nach innen. Das heißt im Container horcht auf diesem Port dann auch ein Server Programm.
                                        Wenn du vom iobroker als Client mit einem anderen Server sprechen willst musst du nix machen. Das geht immer. Auch wenn auf verschiedenen Geräten der gleiche Port angesprochen wird.

                                        Zu deiner Fehlermeldung
                                        Benenne die mal, dann kann man mal schauen.

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

                                          @oliverio sagte in IoBroker Docker Image mit MACVLAN möglich?:

                                          Zum: das ist falsch
                                          Hier ein Ausschnitt aus dem selben Kapitel der Docker Doku
                                          By default, when you create or run a container using docker create or docker run, the container doesn't expose any of its ports to the outside world. Use the --publish or -p flag to make a port available to services outside of Docker.
                                          Wie oben schon geschrieben geht es hier um Ports die von außen erreichbar sind. Ports von innen nach außen auf anderen Geräten sind alle offen.

                                          Aber alles, was da steht gilt für Bridge Netzwerke, nicht für MACVLAN. Völlig anderes Thema.

                                          Schau dir die Beispiele an, alles Bridge-Netzwerke.

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

                                            @marc-berg

                                            Dann scheint es bei mir aus magischen Gründen irgendwie zu funktionieren

                                            Marc Berg 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

                                            957
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            46
                                            1701
                                            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