Docker auf 172.

  • Hallo,


    docker sollten ja normalerweise auf 172.x laufen oder? Meine docker bekomme immer eine IP aus meinem normalen Netzwerk mit 192.


    Wie lässt es so einstellen, dass die docker eine IP im 172. bekommen? Mir wurde gesagt, dass docker eigentlich immer unter 172. laufen sollten...

  • Ein erster Schritt wäre der Screenshot von der Docker App.
    Und zwar das Netzwerk Tab:

    The content cannot be displayed because you do not have authorisation to view this content.

    Hätte den großen Vorteil, dass man sieht welche Netze denn überhaupt auf der Kiste sind.
    Ich habe z.B. zusätzlich ein macvlan und ein ipvlan.

    Dann würde ich mich per ssh mit der NAS verbinden und als root ein "docker inspect <container_id>" ausführen.
    Die ID eines Containers bekommt man übrigens mit "docker ps".

    Mit dem "docker inspect" bekommt man eine Menge Infos. Meist am Ende stehen die Infos zu dem Netzwerk.
    Beispiel:

    The content cannot be displayed because you do not have authorisation to view this content.

    Damit kann man sich sehr schnell ein Eindruck verschaffen was Docker da getan hat.
    Hier hängt der Container im ipvlan.

    Habe zum Vergleich noch einen Container erstellt, der an der Bridge hängt.

    The content cannot be displayed because you do not have authorisation to view this content.

    Und hier sieht man dann den neuen Container in der Docker App des Ugreen auftauchen.
    Der hängt jetzt an der Bridge und hat eine IP aus dem 172er Bereich.

    The content cannot be displayed because you do not have authorisation to view this content.


    Und noch ein letztes. Legt man einen Container an, dann kann man ja auch festlegen in welchem Netz erhängt.
    Einfach darauf achten, dass er an der Bridge hängt.

    The content cannot be displayed because you do not have authorisation to view this content.

    Edited 2 times, last by wasawasa (February 9, 2025 at 12:45 AM).

  • Danke für deinen Beitrag. Für mich war es auch immer 192.x - nun wurde 192.x allerdings recht voll und dann kamen folgende Fragen auf:

    - ist es denn richtig, dass man ein Docker in die 172.x legen sollte? (also "bridge")

    - wo liegt der unterschied zwischen bridge, host und macvlan? (hatte bis jetzt immer macvlan genutzt, da ich dort eine 192.x bekommen habe)

    - wie kann ich ein webpage aufrufen, wenn ich diese in den bridge lege, welches dann z.b. die 172.18.0.2 bekommt? die 172.18.0.2 bekomme ich im browser nicht aufgerufen...

  • Werde die Frage Stück für Stück beantworten, weil ich heute immer nur kleine Zeitfenster haben. Es darf mir auch gerne jemand ins Wort fallen und die Beantwortung fortführen.

    Es macht Sinn, dass die Bridge im 172er Bereich liegt. Zum einen, weil das fast immer so ist. Man muss dann einfach nicht dazusagen, dass man seine Bridge in einem anderen Bereich hat. Und sehr wichtig, das 172er Netz ist ein privates Netzsegment, wird also nicht geroutet.
    Genaueres kann man hier dazu lesen: https://de.wikipedia.org/wiki/Private_IP-Adresse

    Korrekterweise legt man auch Docker nicht in den Bereich 172. Man nutzt Docker um ein Netzwerk zu definieren und später weist man Docker an einen Container in eines dieser Netzwerke zu hängen. Da darf durchaus eine Mischung bestehen. Wie man in meinem vorherigen Posting (letztes Bild) sieht, habe ich den Container "httpd_1" an die Bridge gehängt. Die beiden Container "gitea" und "ytuner" hängen hingegen an dem ipvlan. Es ist also kein entweder / oder.

  • - wo liegt der unterschied zwischen bridge, host und macvlan? (hatte bis jetzt immer macvlan genutzt, da ich dort eine 192.x bekommen habe)

    Basiswissen und Befehle für die Docker-Vernetzung | Computer Weekly
    Docker-Netzwerke ermöglichen die Kommunikation zwischen Containern und externen Netzwerken. Wir erklären die wichtigsten Befehle und Funktionen.
    www.computerweekly.com

    - wie kann ich ein webpage aufrufen, wenn ich diese in den bridge lege, welches dann z.b. die 172.18.0.2 bekommt? die 172.18.0.2 bekomme ich im browser nicht aufgerufen...

    Über die IP des Hostes und den konfigurierten Port der Instanz.

    Der Server ist also über http://localhost:8212 auf dem NAS erreichbar

  • Sehr schön. Vielleicht noch eine kleine Erweiterung.

    Die Bridge "lebt" also nur in der NAS und versteckt sich hinter der IP der NAS.
    Man kann aber den Containern Türen (Ports) zuweisen, wie sie die NAS verlassen können.
    Das geht auch mit der APP auf der NAS:

    The content cannot be displayed because you do not have authorisation to view this content.

    Nennt sich Port Mapping.

    Wenn jetzt die Frage kommt: Ich habe zwei Webserver, die auf Port 8080 arbeiten. Geht das?
    Geht schon, aber sie können natürlich nicht beide den Port 8080 bekommen, weil man nur eine IP hat.
    Die IP der NAS. Einer kann 8080 bekommen und einer z.B. 8081.
    Und zwar über das Port-Mapping.
    Der Vorteil davon ist, dass man das auf der Ebene der Container das nicht berücksichtigen muss.
    Da können sie weiter beide auf Port 8080 werkeln, weil sie ja ihre eigene IP aus dem 172er Netz haben.
    Nur für den Weg nach draußen müssen sie den eigenen Port bekommen.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!