我正在将MongoDB与NodeJS后端一起使用。问题是我遇到以下错误



这是我的 docker 组成

version: '3.4'

services:
  db:
    image: mongo:latest
    ports:
      - '27017:27017'

  rest-api-node:
    build: .
    ports:
      - '5000:5000'
    links:
      - db
    restart: on-failure

我也尝试过depends_on,没有用。

在后端,我很 Mongoose 作为与DB通信的中间件。这是我的index.js的一部分
mongoose.Promise = global.Promise
mongoose.connect('mongodb://localhost/demo')
app.listen(port, () => console.log("live"))

我也尝试过使用 promise ,虽然没有变化。请帮帮我。
提前致谢

完整的错误日志

最佳答案



根据您的docker-compose.yaml文件,您只能从主机访问127.0.0.1:27017上的mongo容器。
为了从NodeJS后端容器访问它,您应该使用db:27017

关于node.js - MongoDB与Docker一起使用 “failed to connect to server [localhost:27017] on first connect ”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51011552/

10-09 21:23