Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Off Topic
  4. Docker
  5. Docker Compose, 2 Container im selben Netzwerk

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.0k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

Docker Compose, 2 Container im selben Netzwerk

Geplant Angeheftet Gesperrt Verschoben Docker
14 Beiträge 4 Kommentatoren 1.1k Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • W wusa

    @chrunchy
    Perfekt, Danke.

    Jetzt sieht es wie folgt aus:

    services:
      wireguard:
        image: lscr.io/linuxserver/wireguard:latest
        container_name: wireguard
        networks:
          - RZ-net
        cap_add:
          - NET_ADMIN
          - SYS_MODULE #optional
        environment:
          - PUID=1000
          - PGID=1000
          - TZ=Europe/Berlin
         
        volumes:
          - /root/docker/wg-s2s/config:/config
        sysctls:
          - net.ipv4.conf.all.src_valid_mark=1
        restart: unless-stopped
    
    networks:
      RZ-net:
        external: true
    

    Und networks sieht so aus:
    e2f90b77-eb36-4115-91e5-d81d0730e559-grafik.png

    Jetzt hätte ich noch 2 Fragen.
    39f241ce-a173-4f36-986f-6426767c3e4b-grafik.png

    Ich habe das Netz mit 172.18.0.0/16 angelegt und 2 IP Adressen ausgenommen.
    Diese 2 Adressen würde ich nun fest den Containern zuweisen, damit sich diese nie ändern.

    Mache ich das wie folgt, dann erscheint ein Fehler:

    services:
      wireguard:
        image: lscr.io/linuxserver/wireguard:latest
        container_name: wireguard
        networks:
          RZ-net:
            IP-Address: 172.18.0.2
        cap_add:
          - NET_ADMIN
          - SYS_MODULE #optional
        environment:
          - PUID=1000
          - PGID=1000
          - TZ=Europe/Berlin
         
        volumes:
          - /root/docker/wg-s2s/config:/config
    
        sysctls:
          - net.ipv4.conf.all.src_valid_mark=1
        restart: unless-stopped
    
    networks:
      RZ-net:
        external: true
    
    

    c3e96bc9-9bf5-4f96-83fd-e426231a4134-grafik.png

    Marc BergM Offline
    Marc BergM Offline
    Marc Berg
    Most Active
    schrieb am zuletzt editiert von
    #4

    @wusa

    IP-Address: 172.18.0.2
    

    ist falsch.

    Richtig:

    ipv4_address: 172.18.0.2
    

    NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+RabbitMQ+Grafana

    Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

    Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

    W 1 Antwort Letzte Antwort
    0
    • W wusa

      Hallo zusammen,

      ich schaffe es leider nicht, 2 Docker Container im selben Netzwerk anzulegen.

      Wie folgt bin ich vorgegangen:
      Ich hab ein Netzwerk angelegt mit dem Namen docker-lan
      73003438-8253-4dc8-bb32-b124ee1a4f50-grafik.png

      Diese Netzwerk will ich jetzt für 2 Container verwenden.
      Getestet habe ich es erstmal nur mit einem Container mit der Compose wie folgt:

      services:
        wireguard:
          image: lscr.io/linuxserver/wireguard:latest
          container_name: wireguard
          cap_add:
            - NET_ADMIN
            - SYS_MODULE #optional
          environment:
            - PUID=1000
            - PGID=1000
            - TZ=Europe/Berlin
          networks:
            - docker-lan
           
          volumes:
            - /root/docker/wg-s2s/config:/config
          sysctls:
            - net.ipv4.conf.all.src_valid_mark=1
          restart: unless-stopped
      
      
      networks:
        docker-lan:
      
      

      Das funktioiert jetzt allerdings nicht.
      Der Container sollte eine IP aus dem Bereich 172.20.0.0/16 bekommen. (Ich weiß, es ist nicht normal ein /16 Adresse mit so vielen IPs zu nehmen. Sobald es aber läuft werde ich mich anderweitig darum kümmern).

      Das Netzwerk wird allerdings nicht übernommen und es wird ein neues Netzwerk "eröffnet".
      c762c1c4-e377-48bc-8cd5-28723419aa00-grafik.png

      Warum ist das so? Habe ich etwas falsch gemacht oder wie sollte es richtig gemacht werden?

      Danke

      OliverIOO Offline
      OliverIOO Offline
      OliverIO
      schrieb am zuletzt editiert von OliverIO
      #5

      @wusa

      das was @Marc-Berg sagt ist richtig.
      Wahrscheinlich musst du das Netz auch als MACVLAN Netz anlegen,
      da die Netzwerkkarte ja so erstmal nur auf die Pakete horcht, die für den Rechner bestimmt sind. Im Bridge und Hostmode haben Container ja immer die gleiche IP-Adresse wie der Host, nur die Daten der Ports werden umgeroutet. Im bridge und hostmode vergibt docker auch immer ip-adressen aus seinem eigenen privaten IP-Netz, was aber auch nur auf diesem Rechner gilt. Die 172er IP-Adresse hat mich zu begin etwas verwirrt, da docker ja den selben Netzbereich verwendet.

      Erst mit dem MACVLAN-Treiber werden auch die Pakete anderer IP-Adressen mitgehorcht und dann an den korrekten Container weitergeleitet.

      https://docs.docker.com/engine/network/drivers/macvlan/

      Meine Adapter und Widgets
      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
      Links im Profil

      W 1 Antwort Letzte Antwort
      0
      • Marc BergM Marc Berg

        @wusa

        IP-Address: 172.18.0.2
        

        ist falsch.

        Richtig:

        ipv4_address: 172.18.0.2
        
        W Offline
        W Offline
        wusa
        schrieb am zuletzt editiert von
        #6

        @marc-berg

        services:
          wireguard:
            image: lscr.io/linuxserver/wireguard:latest
            container_name: wireguard
            networks:
              RZ-net:
                ipv4_address: 172.18.0.2
            cap_add:
              - NET_ADMIN
              - SYS_MODULE #optional
            environment:
              - PUID=1000
              - PGID=1000
              - TZ=Europe/Berlin
             
            volumes:
              - /root/docker/wg-s2s/config:/config
        
            sysctls:
              - net.ipv4.conf.all.src_valid_mark=1
            restart: unless-stopped
        
        networks:
          RZ-net:
            external: true
        
        

        Auch hier erscheint ein Fehler.

        Address already in use.
        

        5caf3271-21d5-411d-8b39-8878a5b0b165-grafik.png

        Es sind alle Container aus. Heißt die Adresse ist definitiv nicht in Benutzung.

        1 Antwort Letzte Antwort
        0
        • OliverIOO OliverIO

          @wusa

          das was @Marc-Berg sagt ist richtig.
          Wahrscheinlich musst du das Netz auch als MACVLAN Netz anlegen,
          da die Netzwerkkarte ja so erstmal nur auf die Pakete horcht, die für den Rechner bestimmt sind. Im Bridge und Hostmode haben Container ja immer die gleiche IP-Adresse wie der Host, nur die Daten der Ports werden umgeroutet. Im bridge und hostmode vergibt docker auch immer ip-adressen aus seinem eigenen privaten IP-Netz, was aber auch nur auf diesem Rechner gilt. Die 172er IP-Adresse hat mich zu begin etwas verwirrt, da docker ja den selben Netzbereich verwendet.

          Erst mit dem MACVLAN-Treiber werden auch die Pakete anderer IP-Adressen mitgehorcht und dann an den korrekten Container weitergeleitet.

          https://docs.docker.com/engine/network/drivers/macvlan/

          W Offline
          W Offline
          wusa
          schrieb am zuletzt editiert von
          #7

          @oliverio

          Wenn ich allerdings mit diesem Parameter den Container starte:

              networks:
                - RZ-net
          

          und

          networks:
            RZ-net:
              external: true
          

          Haben bei mir die Container aus dem Adresspool eine IP aus dem Pool.

          OliverIOO 1 Antwort Letzte Antwort
          0
          • W wusa

            @oliverio

            Wenn ich allerdings mit diesem Parameter den Container starte:

                networks:
                  - RZ-net
            

            und

            networks:
              RZ-net:
                external: true
            

            Haben bei mir die Container aus dem Adresspool eine IP aus dem Pool.

            OliverIOO Offline
            OliverIOO Offline
            OliverIO
            schrieb am zuletzt editiert von
            #8

            @wusa sagte in Docker Compose, 2 Container im selben Netzwerk:

            Haben bei mir die Container aus dem Adresspool eine IP aus dem Pool

            ich hatte bzgl macvlan meinen post nochmal aktualisiert. du warst schneller

            ist dein router tatsächlich auf ein 172er netz eingestellt?
            nicht das das auch schwierigkeiten macht, das docker sich bereits einen 172er netzbereich reserviert hat und daher eine ip daraus nicht herausgibt.

            mein bridge ist bspw auf
            172.17.0.0/16
            eingestellt. da get der bereich von
            172.17.0.0 bis 172.17.255.254
            der nicht durch andere netze verwendet werden darf

            Meine Adapter und Widgets
            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
            Links im Profil

            W 1 Antwort Letzte Antwort
            0
            • OliverIOO OliverIO

              @wusa sagte in Docker Compose, 2 Container im selben Netzwerk:

              Haben bei mir die Container aus dem Adresspool eine IP aus dem Pool

              ich hatte bzgl macvlan meinen post nochmal aktualisiert. du warst schneller

              ist dein router tatsächlich auf ein 172er netz eingestellt?
              nicht das das auch schwierigkeiten macht, das docker sich bereits einen 172er netzbereich reserviert hat und daher eine ip daraus nicht herausgibt.

              mein bridge ist bspw auf
              172.17.0.0/16
              eingestellt. da get der bereich von
              172.17.0.0 bis 172.17.255.254
              der nicht durch andere netze verwendet werden darf

              W Offline
              W Offline
              wusa
              schrieb am zuletzt editiert von wusa
              #9

              @oliverio

              Richtig, ich habe mich im ersten Moment auch an das Docker Netzwerk gerichtet.

              Die 172.18.0.0/16 ist von meinem Router richtig durchgeroutet und auch nur in dem Docker Netzwerk in Verwendung, sonst nirgends in meinem Netzwerk.

              Starte ich die Container nur mit dem

              networks:
               - RZ-net
              
              

              Werden die IPs richtig vergeben. Ich würden nur gerne aus dem Bereich eine feste IP Adresse vergeben, damit der Container auch immer die selbe IP hat.
              Daher auch die 2 excluded IPs.
              Vielleicht ist das auch grundsätzlich falsch. Ich weiß es leider nicht.

              OliverIOO 1 Antwort Letzte Antwort
              0
              • W wusa

                @oliverio

                Richtig, ich habe mich im ersten Moment auch an das Docker Netzwerk gerichtet.

                Die 172.18.0.0/16 ist von meinem Router richtig durchgeroutet und auch nur in dem Docker Netzwerk in Verwendung, sonst nirgends in meinem Netzwerk.

                Starte ich die Container nur mit dem

                networks:
                 - RZ-net
                
                

                Werden die IPs richtig vergeben. Ich würden nur gerne aus dem Bereich eine feste IP Adresse vergeben, damit der Container auch immer die selbe IP hat.
                Daher auch die 2 excluded IPs.
                Vielleicht ist das auch grundsätzlich falsch. Ich weiß es leider nicht.

                OliverIOO Offline
                OliverIOO Offline
                OliverIO
                schrieb am zuletzt editiert von OliverIO
                #10

                @wusa
                das geht so nicht.
                aber docker definiert intern die hostnames.
                daher, alle container die dem gleichen netzwerk zugeordnet sind können den jeweiligen anderen container unter dem servicenamen erreichen. also in deinem fall "wireguard" Zeile 2 von dem docker compose.
                Alternativ kann man mit konfiguration den hostname auch vorgeben
                https://docs.docker.com/reference/compose-file/services/#hostname

                wenn du ein LAN weite eindeutige IP-Adresse haben willst, dann:

                • hostmode: der container erhält die ip adresse deines hosts. du kannst aber keine ports mappen, aber broadcast funktioniert (weiß nicht ob das bei wireguard relevant ist)
                • bridge mode (standard): der container erhält die ip adresse deines hosts. es werden aber nur die angegebenen ports gemappt. broadcast services gehen hier gar nicht
                • macvlan: wie oben beschrieben. neues netzwerk mit macvlan treiber muss im docker angelegt werden. netzbereich ist dann überlappend zu dem deines LANs. Der DHCP darf dann auch keine dieser IP-Adressen vergeben. ohne Angabe von IP vergibt docker aus dem angegebenen Netzbereich dann eine und mit Angabe, dann feste IP.
                • ipvlan: hab ich mich ehrlich noch nie mit beschäftigt. ist ähnlich macvlan. beide haben im Vergleich wohl vor und Nachteile.

                der rechner auf dem bei mir docker läuft, hat eine feste ip, so kann ich im router easy weiterleiten. allerdings verwende ich für diese dinge lieber macvlan um den netzwerkverkehr auch wirklich containerweise zu kapseln.

                Meine Adapter und Widgets
                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                Links im Profil

                W 1 Antwort Letzte Antwort
                0
                • OliverIOO OliverIO

                  @wusa
                  das geht so nicht.
                  aber docker definiert intern die hostnames.
                  daher, alle container die dem gleichen netzwerk zugeordnet sind können den jeweiligen anderen container unter dem servicenamen erreichen. also in deinem fall "wireguard" Zeile 2 von dem docker compose.
                  Alternativ kann man mit konfiguration den hostname auch vorgeben
                  https://docs.docker.com/reference/compose-file/services/#hostname

                  wenn du ein LAN weite eindeutige IP-Adresse haben willst, dann:

                  • hostmode: der container erhält die ip adresse deines hosts. du kannst aber keine ports mappen, aber broadcast funktioniert (weiß nicht ob das bei wireguard relevant ist)
                  • bridge mode (standard): der container erhält die ip adresse deines hosts. es werden aber nur die angegebenen ports gemappt. broadcast services gehen hier gar nicht
                  • macvlan: wie oben beschrieben. neues netzwerk mit macvlan treiber muss im docker angelegt werden. netzbereich ist dann überlappend zu dem deines LANs. Der DHCP darf dann auch keine dieser IP-Adressen vergeben. ohne Angabe von IP vergibt docker aus dem angegebenen Netzbereich dann eine und mit Angabe, dann feste IP.
                  • ipvlan: hab ich mich ehrlich noch nie mit beschäftigt. ist ähnlich macvlan. beide haben im Vergleich wohl vor und Nachteile.

                  der rechner auf dem bei mir docker läuft, hat eine feste ip, so kann ich im router easy weiterleiten. allerdings verwende ich für diese dinge lieber macvlan um den netzwerkverkehr auch wirklich containerweise zu kapseln.

                  W Offline
                  W Offline
                  wusa
                  schrieb am zuletzt editiert von
                  #11

                  @oliverio
                  Aber das geht ja jetzt auch schon.
                  Wenn ich einfach nur die Docker Container starte, dann erhalte ich zb. für Wireguard die IP 172.18.0.2
                  Wenn ich jetzt noch einen anderen Docker Container starte, dann erhalte ich die IP 172.18.0.3

                  Jetzt kann ich per IP Adresse 172.18.0.3, da sich die Container im selben Netzwerk befinden, auf den Dienst zugreifen.

                  Starte ich jetzt allerdings die Container neu, dann kann es sein, dass ich eine andere IP Adresse für die Container erhalte.
                  Also könnte es sein, dass ich für Wireguard dann die IP 172.18.0.5 erhalte.

                  OliverIOO 1 Antwort Letzte Antwort
                  0
                  • W wusa

                    @oliverio
                    Aber das geht ja jetzt auch schon.
                    Wenn ich einfach nur die Docker Container starte, dann erhalte ich zb. für Wireguard die IP 172.18.0.2
                    Wenn ich jetzt noch einen anderen Docker Container starte, dann erhalte ich die IP 172.18.0.3

                    Jetzt kann ich per IP Adresse 172.18.0.3, da sich die Container im selben Netzwerk befinden, auf den Dienst zugreifen.

                    Starte ich jetzt allerdings die Container neu, dann kann es sein, dass ich eine andere IP Adresse für die Container erhalte.
                    Also könnte es sein, dass ich für Wireguard dann die IP 172.18.0.5 erhalte.

                    OliverIOO Offline
                    OliverIOO Offline
                    OliverIO
                    schrieb am zuletzt editiert von OliverIO
                    #12

                    @wusa

                    wenn es jetzt schon tut, wo ist dann die frage?
                    ich habe dir alle möglichkeiten aufgeschrieben die ich kenne.
                    docker vergibt die ip aus seinem ip bereich. da wirst du auch nicht rumfummeln können. ansonsten ist es tricksen.
                    ob das gut ist, das dein lan auf dem selben bereich läuft, keine ahnung. überblicke aber deine konfiguration auch nicht ganz.

                    hier ist die dokumentation zur angabe einer ip adresse
                    https://docs.docker.com/reference/compose-file/services/#ipv4_address-ipv6_address

                    evtl ist dieser satz relevant

                    The corresponding network configuration in the top-level networks section must have an ipam attribute with subnet configurations covering each static address.
                    

                    Meine Adapter und Widgets
                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                    Links im Profil

                    W 1 Antwort Letzte Antwort
                    0
                    • OliverIOO OliverIO

                      @wusa

                      wenn es jetzt schon tut, wo ist dann die frage?
                      ich habe dir alle möglichkeiten aufgeschrieben die ich kenne.
                      docker vergibt die ip aus seinem ip bereich. da wirst du auch nicht rumfummeln können. ansonsten ist es tricksen.
                      ob das gut ist, das dein lan auf dem selben bereich läuft, keine ahnung. überblicke aber deine konfiguration auch nicht ganz.

                      hier ist die dokumentation zur angabe einer ip adresse
                      https://docs.docker.com/reference/compose-file/services/#ipv4_address-ipv6_address

                      evtl ist dieser satz relevant

                      The corresponding network configuration in the top-level networks section must have an ipam attribute with subnet configurations covering each static address.
                      
                      W Offline
                      W Offline
                      wusa
                      schrieb am zuletzt editiert von
                      #13

                      @oliverio
                      Ich will eigentlich nur eine feste IP aus dem Bereich 172.18.0.0/16 selbst vergeben, dass die IP immer gleich bleibt.

                      W 1 Antwort Letzte Antwort
                      0
                      • W wusa

                        @oliverio
                        Ich will eigentlich nur eine feste IP aus dem Bereich 172.18.0.0/16 selbst vergeben, dass die IP immer gleich bleibt.

                        W Offline
                        W Offline
                        wusa
                        schrieb am zuletzt editiert von wusa
                        #14

                        Ich habe jetzt eine Lösung und vermutlich das Problem gefunden.

                        services:
                          wireguard:
                            image: lscr.io/linuxserver/wireguard:latest
                            container_name: wireguard
                            networks:
                              RZ-net:
                                ipv4_address: 172.18.0.2
                            cap_add:
                              - NET_ADMIN
                              - SYS_MODULE #optional
                            environment:
                              - PUID=1000
                              - PGID=1000
                              - TZ=Europe/Berlin
                             
                            volumes:
                              - /root/docker/wg-s2s/config:/config
                        
                            sysctls:
                              - net.ipv4.conf.all.src_valid_mark=1
                            restart: unless-stopped
                        
                        networks:
                          RZ-net:
                            external: true
                        
                        

                        Hauptproblem bei der Vergabe der festen IP Adresse ist das angelegte Netzwerk.
                        Es darf nicht mit /16 angelegt werden. Hier ist vermutlich etwas im Docker-Hintergrund was hier blockiert.
                        Legt man die Adresse mit /24 an, kann man in der Compose Datei die Adresse auch fest vergeben.

                        e3536d27-9c97-4719-acb6-81d100ef2dbb-grafik.png

                        d96374d8-1882-4bac-af70-e9858c8a66b6-grafik.png

                        1 Antwort Letzte Antwort
                        0
                        Antworten
                        • In einem neuen Thema antworten
                        Anmelden zum Antworten
                        • Älteste zuerst
                        • Neuste zuerst
                        • Meiste Stimmen


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        726

                        Online

                        32.5k

                        Benutzer

                        81.6k

                        Themen

                        1.3m

                        Beiträge
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                        ioBroker Community 2014-2025
                        logo
                        • Anmelden

                        • Du hast noch kein Konto? Registrieren

                        • Anmelden oder registrieren, um zu suchen
                        • Erster Beitrag
                          Letzter Beitrag
                        0
                        • Home
                        • Aktuell
                        • Tags
                        • Ungelesen 0
                        • Kategorien
                        • Unreplied
                        • Beliebt
                        • GitHub
                        • Docu
                        • Hilfe