当我在本地运行docker-compose时,我的应用程序运行正常。但是当我将其推送到Web服务器上时,出现以下错误:
connection error : MongoNetworkError: failed to connect to server
[mongo:27017] on first connect [MongoNetworkError: connect ECONNREFUSED
192.168.96.2:27017]
我不知道发生了什么事。
这是我的docker文件:
FROM node:10
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3001
CMD ["node", "server"]
我的docker-compose文件:
version: '3'
services:
app:
depends_on:
- mongo
container_name: data-foot-api-container
restart: always
build: .
ports:
- '80:3001'
mongo:
image: mongo
container_name: mongodb
ports:
- '27017:27017'
volumes:
- /data/db:/data/db
volumes:
data-football:
如果有人对它的来源有所了解,我将不胜感激
答案 0 :(得分:0)
谢谢大家对我的帮助。
确实是由于Node容器在mongo容器之前已经准备就绪并且正在运行。 因此,Node尝试到达mongo,但mongo尚未启动。
我找到了一种方法来强迫docker等待mongo准备好,然后再在此处构建节点容器:https://dev.to/hugodias/wait-for-mongodb-to-start-on-docker-3h8b
可能还有其他方法,如果有人知道其他方法或更好的方法,请发表评论。