通过Docker访问Web应用程序时连接被拒绝
我对Docker相当陌生,所以我正在尝试写一个我编写的节点Web应用程序和Docker-itize。 该应用程序是开源的,所以你可以在这里find它和Dockerfile: 爪哇战争
所以你不必点击,Dockerfile在这里:
FROM mhart/alpine-node WORKDIR /src ADD . . RUN npm install EXPOSE 5050 COPY config.json /src/config.json CMD npm run docker
所以我打开Docker快速入门terminal(我在Mac OS X上),去我的path,并build立它:
docker build -t paw-wars .
build立之后,我运行它:
docker run paw-wars
它旋转起来很好,并说它正在监听端口5050.我从docker-machine ip default
,并尝试连接到它端口5050,但我得到连接拒绝。 我已经试图解决这个问题的大多数search告诉我,我需要确保使用正确的IP,但我几乎积极,我正在做这个。 不太确定我做错了什么。 这不是在回购,但我也尝试绑定到我的应用程序(index.js) 0.0.0.0
,但也没有工作。
谢谢!
问题是你必须在docker run
命令中指定一个端口。 我以为在你的dockerfile中使用EXPOSE
就足够了,但事实并非如此。 这只是为了让端口暴露在内部。
docker run -p 5050:5050 paw-wars
效果很好。