MongoError:在Docker中连接ECONNREFUSED
我有我的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
时才会发生:
泊坞窗,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
则错误得到修复。
会发生什么?
你错过了:–bind_ip_all
似乎mongod
守护进程的更新版本(> 3.5)默认只侦听localhost。
你重写这个 :
CMD ["mongod", "--bind_ip_all"]
所以,在你的docker-compose.yml文件中加上"--bind_ip_all"
:
mongodb: image: mongo:3.5 command: mongod --port 27018 --bind_ip_all