我对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
,但这也无效。
谢谢!
答案 0 :(得分:0)
问题是你必须在docker run
命令中指定一个端口。我认为在dockerfile中使用EXPOSE
就足够了,但事实并非如此。这只是为了让端口在内部暴露出来。
docker run -p 5050:5050 paw-wars
效果很好。