【问题标题】:MongoError: connect ECONNREFUSED in DockerMongoError:在 Docker 中连接 ECONNREFUSED
【发布时间】:2017-06-12 23:39:26
【问题描述】:

我有我的 docker-compose 编排,但我收到了这个错误:

connection error: { MongoError: failed to connect to server [172.17.0.2:27018] on first connect [MongoError: connect ECONNREFUSED 172.17.0.2:27018]

这是server.js中的代码:

mongoose.connect('mongodb://mongodb:27018');

仅当我自定义 docker 容器的 command 时才会发生这种情况:

docker-compose.yml:

version: "3"
services:
  app:
    build: ./my-node-app
    depends_on:
      - mongodb
  mongodb:
    image: mongo:3.5
    command: mongod --port 27018

如果我删除 --port 27018 并指向默认的 27017,错误就会得到修复。

会发生什么?

【问题讨论】:

    标签: mongodb docker docker-compose


    【解决方案1】:

    你错过了:--bind_ip_all

    mongod 守护进程的 newer 版本 (>3.5) 似乎默认只监听 localhost。

    您正在覆盖this

    CMD ["mongod", "--bind_ip_all"]
    

    所以,也将"--bind_ip_all" 放入您的 docker-compose.yml:

    mongodb:
      image: mongo:3.5
      command: mongod --port 27018 --bind_ip_all
    

    【讨论】:

      猜你喜欢
      • 2016-08-19
      • 2016-10-01
      • 2018-03-13
      • 2019-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多