2017-06-12 92 views
0

我有我的碼頭工人,撰寫編排和我得到這個錯誤:MongoError:連接ECONNREFUSED在泊塢

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'); 

這僅發生當我自定義碼頭集裝箱的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,則錯誤得到修復。

可能是什麼回事?

回答

2

你丟失:--bind_ip_all

看來,mongod守護進程的newer版本(> 3.5)只聽默認爲localhost。

你要重寫this

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

所以,也把"--bind_ip_all"在泊塢窗,compose.yml:

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