Docker Node.JS无法访问网站

我无法加载托pipe在Docker容器外的Node.JS托pipe网站。 这是我跑步的步骤:

docker build -t website-server . docker run -d -p 80:8080 website-server docker ps -a docker logs <ID> 

日志显示服务器端口8080正常运行,console.log文本被打印。

我的app.js文件的重要部分:

 http.createServer().listen(8080, (req, res) => { console.log("Started server"); }); 

我的Dockerfile:

 FROM node:8.4.0 WORKDIR /usr/src/app COPY package.json . RUN npm install COPY . . EXPOSE 8080 CMD [ "npm", "start" ] 

一切工作正常,但当我去通过通常的域名(或我的虚拟机的IP或我的容器的IP)访问该网站,它不加载。 我猜测我忽略了安装过程中的一个关键步骤,或者犯了一个错误。 任何人都可以帮忙吗?

我没有看到你所做的事情有什么问题:这个部分应该工作….我会看看防火墙,从networking防火墙开始,回答“虚拟主机托pipe在哪里”的问题,“有没有networking上的防火墙? 和“有什么设置?

如果访问是开放的,请查看iptables或vm上的其他防火墙。