我无法加载由Docker容器托管的Node.JS托管网站。以下是我运行的步骤:
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" ]
一切正常,但当我通过常用域(或我的VM的IP或我的容器的IP)访问网站时,它无法加载。我猜测我忽略了设置过程中的关键步骤或犯了错误。有人可以帮忙吗?
答案 0 :(得分:0)
我没有看到你做了什么有什么问题:那部分应该有用......我会在防火墙上看一下,从网络防火墙开始回答问题&#39; vm在哪里托管?&#39;,&#39;网络上是否有防火墙?&#39;和&#39;有什么设置?&#39;
如果在那里打开访问权限,请仔细查看:iptables或vm本身的其他防火墙。