Problem mit Docker-Container -> ACHTUNG: Docker-Anfänger

  • Hallo liebes Forum,


    vielleicht weiß es ja ein Docker spezialist aus dem Kopf.
    Ich möchte auf meinem vserver - der die Domain tcnag.de mit der (externen) IP 46.38.242.91 hat einen Docker-Container zum laufen bringen der über dieses große Internet erreichbar sein soll.
    (Vorab: Ich hab noch garkeine Erfahrung mit Docker!)
    Den Docker-Container (vpsolver) gibt es hier: Docker · fdabrandao/vpsolver Wiki · GitHub


    Starten tu ich den Container so:

    Code
    docker run --rm -it -p 5555 fdabrandao/vpsolver


    Die Ausgabe:


    Ich würde behaupten das Ding läuft sauber und sollte per Webinterface erreichbar sein.
    ABER: Ist es nicht!


    Ich denke das Problem liegt daran dass er wohl die (interne) IP 172.17.0.2 nimmt und sich evtl. an die bindet - deshalb krieg ich per http://tcnag.de:5555/ keinen Connect.
    Oder irre ich hier?


    Irgendein-Docker Profi der weiß was nun zu tun ist?


    Thomas

  • Du musst dem -p Parameter den internen und externen (also dem System, nicht unbedingt Serverextern) Port angeben, damit Docker weiß welchen internen Port er an das System (externen Port) weiterleiten muss. 172.x ist wie du bereits erkannt hast di interne Docker IP-Adresse, die dir wenig bringt. Entweder du gibst also einen externen Port an oder du nutzt beispielsweise nginx als Reverse-Proxy.
    Am einfachsten gibst du als -p Parameter einfach 5555:5555 an.

  • Hallo mdxdave,


    du hast natürlich recht - deshalb hab ich auch gleich "ANFÄNGER" drauf geschrieben, das sind ja eigentlich die grundlegendsten Einstellungen von Docker.


    Ich hab jetzt auch noch:

    Code
    docker run --rm -it --net=host fdabrandao/vpsolver


    gefunden um sich direkt ans Netz vom Host zu binden.


    Deine Idee aber wo man nur einen Port auf einen Port vom Container weiterleitet ist natürlich deutlich flexibler!


    Vielen Dank für die Hilfe, ich les jetzt erstmal ein bisschen ein Docker Buch :)


    Thomas