通过Docker访问Web应用程序时拒绝连接

时间:2016-01-12 19:14:34

标签: node.js docker docker-machine

我对Docker很陌生,所以我尝试使用我编写过的节点网络应用程序和Docker-ize。该应用程序是开源的,因此您可以在此处找到它和Dockerfile:Paw-Wars

所以你不必点击,Dockerfile就在这里:

FROM mhart/alpine-node

WORKDIR /src
ADD . .

RUN npm install

EXPOSE  5050
COPY config.json /src/config.json
CMD npm run docker

所以我打开了Docker Quickstart Terminal(我在Mac OS X上),转到我的路径并构建它:

docker build -t paw-wars .

构建之后,我运行它:

docker run paw-wars

它旋转得很好并说它正在侦听端口5050.我从docker-machine ip default获取ip,并尝试在端口5050上连接它,但我拒绝连接。我尝试解决此问题的大多数搜索都告诉我,我需要确保使用正确的IP,但我几乎是肯定的,我这样做。不确定我做错了什么。它不在回购邮件中,但我也尝试在我的应用程序(index.js)中绑定0.0.0.0,但这也无效。

谢谢!

1 个答案:

答案 0 :(得分:0)

问题是你必须在docker run命令中指定一个端口。我认为在dockerfile中使用EXPOSE就足够了,但事实并非如此。这只是为了让端口在内部暴露出来。

docker run -p 5050:5050 paw-wars效果很好。