我试图在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"
的图片,因为我在网上搜索解决方案时发现了这些图片,但它们并没有帮助(而且我的理解在这里甚至都不需要)。
任何帮助或调试的想法,非常感谢!