Ich versuche, eine einfache Node.js/Express-Webanwendung in einem Docker-Container (17.06) unter OS X (letztes Update 10.12.5) auszuführen. Ich kann keine Verbindung zur App unter localhost:3000
herstellen und kann nicht herausfinden, was falsch ist. Ich habe auch versucht, mich mit der IP-Adresse der VM zu verbinden, die gefunden wird, indem ich ip addr | grep global
in seiner Konsole ohne Erfolg laufen lasse.Verbindung zum veröffentlichten Docker-Port unter OS X nicht möglich
Meine App ist eigentlich nur das Framework JetBrains Webstorm erstellt beim Erstellen eines neuen Projekts vom Typ 'Node.js Express App'. Beachten Sie, dass ich diese App auf meinem Host-System über npm start
ausführen und erfolgreich unter localhost:3000
verbinden kann.
Ich baute dann ein Docker Bild wie folgt:
docker build -t joonas/meancopy .
Run it:
docker run -it -v `pwd`:/home/dev/src --name meancopy joonas/meancopy -p 3000:3000
Und nachdem in der Shell-VM geworfen, ich laufe npm start
und erhalten folgendes:
[[email protected]:~/src$ npm start
npm info it worked if it ends with ok
npm info using [email protected]
npm info using [email protected]
npm info lifecycle [email protected]~prestart: [email protected]
npm info lifecycle [email protected]~start: [email protected]
> [email protected] start /home/dev/src
> node ./bin/www
Die Ausgabe ist die gleiche wie bei der Ausführung auf dem Host erwartet für die "Npm Info" Zeilen in der Begi nning. Ich kann jedoch keine Verbindung zu diesem Server unter localhost:3000
herstellen.
Ich habe auch versucht, das Bild mit --expose=3000
und --net="host"
zu laufen, weil ich diese bei der Suche nach Lösungen online gefunden habe, aber sie helfen nicht (und zu meinem Verständnis sollte nicht einmal hier notwendig sein).
Jede Hilfe oder Debugging-Ideen werden sehr geschätzt!