我試圖在OS X(最新更新10.12.5)上的Docker(17.06)容器中運行簡單的Node.js/Express網絡應用程序。我無法連接到應用程序localhost:3000
,我無法弄清楚什麼是錯的。我也試圖通過在控制檯上運行ip addr | grep global
無法連接到虛擬機的IP地址。無法連接到OS X上發佈的Docker端口
我的應用程序其實就是JetBrains Webstorm在創建類型爲「Node.js Express App」的新項目時創建的框架。請注意,我可以通過npm start
在我的主機系統上運行此應用程序,併成功連接到localhost:3000
。
我再建一個碼頭工人的圖像,像這樣:
docker build -t joonas/meancopy .
運行:
docker run -it -v `pwd`:/home/dev/src --name meancopy joonas/meancopy -p 3000:3000
而後被扔在虛擬機的外殼,我跑npm start
,並得到如下:
[[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
輸出結果與在主機上運行期望的開始時的「npm info」行相同nning。但是,我無法連接到此服務器localhost:3000
。
我也試過運行--expose=3000
和--net="host"
的圖片,因爲我在網上搜索解決方案時發現了這些圖片,但它們並沒有幫助(而且我的理解在這裏甚至都不需要)。
任何幫助或調試的想法,非常感謝!