Node.js web应用程序在Docker堆栈中未正常运行
我有一个用Node.js编写的web应用程序,我正试图进入Docker。使用Node.js web应用程序在Docker堆栈中未正常运行,node.js,docker,docker-compose,Node.js,Docker,Docker Compose,我有一个用Node.js编写的web应用程序,我正试图进入Docker。使用dockerrun-p80:80 image运行映像效果很好;我可以访问它托管的网页。然而,当我尝试在堆栈中运行它时,我无法访问该页面,Chrome永远坐在“等待localhost…”位置 Dockerfile: FROM readytalk/nodejs WORKDIR /app ADD . /app RUN npm i EXPOSE 80 CMD [] ENTRYPOINT ["/nodejs/bin/npm
dockerrun-p80:80 image运行映像
效果很好;我可以访问它托管的网页。然而,当我尝试在堆栈中运行它时,我无法访问该页面,Chrome永远坐在“等待localhost…”位置
Dockerfile:
FROM readytalk/nodejs
WORKDIR /app
ADD . /app
RUN npm i
EXPOSE 80
CMD []
ENTRYPOINT ["/nodejs/bin/npm", "start"]
version: "3"
services:
web:
image: image_name
deploy:
replicas: 5
resources:
limits:
cpus: "0.1"
memory: 50M
restart_policy:
condition: on-failure
ports:
- "80:80"
networks:
- webnet
networks:
webnet:
docker compose.yml:
FROM readytalk/nodejs
WORKDIR /app
ADD . /app
RUN npm i
EXPOSE 80
CMD []
ENTRYPOINT ["/nodejs/bin/npm", "start"]
version: "3"
services:
web:
image: image_name
deploy:
replicas: 5
resources:
limits:
cpus: "0.1"
memory: 50M
restart_policy:
condition: on-failure
ports:
- "80:80"
networks:
- webnet
networks:
webnet:
任何帮助都将不胜感激
编辑:添加了一些日志记录,似乎HTTP请求从未真正发送到Node.js应用程序。Docker似乎已收到请求,但尚未将其路由到正在运行的应用程序
docker info
ipconfig
ifconfig
查看首选IP,然后使用指定端口的IP访问容器
Ubuntu中的
ipconfig
ifconfig
希望这能解决您的问题,并尝试使用127.0.0.1:port
您可以查看此幻灯片,其中显示并运行hello world node+docker
我建议使用这个Docker文件
你有没有在没有独立网络的情况下尝试过?如果这不允许您访问该页面,我也会删除部署设置。当您可以访问该页面时,您可以逐个将其添加回去,以查看是哪一个导致了错误troubles@ShabbY删除网络和部署设置都不起作用,浏览器仍然会无限期地等待。嗯。。。这里有一个用于部署节点项目的Dockerfile:也许这可以帮助youThanks,第二个选项对我很有用。仍然很困惑为什么端口没有像我运行单个容器时那样绑定到localhost。