5

I am trying to connect mongo DB running in docker container from another docker container where my node js code is running.

So I run MongoDB docker using the following command:

docker run --name my-local-mongo -v mongo-data:/data/db -p 27017:27017 -d mongo

I can access from browser typing 0.0.0.0:27017, however when I try to connect from node js code I am getting following error. My url variable is:

var url = "mongodb://0.0.0.0:27017/surveydb";

{ MongoNetworkError: failed to connect to server [0.0.0.0:27017] on first connect [MongoNetworkError: connect **ECONNREFUSED 0.0.0.0:27017**]
    at Pool.<anonymous> (/usr/src/appg08/node_modules/mongodb-core/lib/topologies/server.js:564:11)
    at Pool.emit (events.js:182:13)
    at Connection.<anonymous> (/usr/src/appg08/node_modules/mongodb-core/lib/connection/pool.js:317:12)
    at Object.onceWrapper (events.js:273:13)
    at Connection.emit (events.js:182:13)
    at Socket.<anonymous> (/usr/src/appg08/node_modules/mongodb-core/lib/connection/connection.js:246:50)
    at Object.onceWrapper (events.js:273:13)
    at Socket.emit (events.js:182:13)
    at emitErrorNT (internal/streams/destroy.js:82:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
  name: 'MongoNetworkError',
  errorLabels: [ 'TransientTransactionError' ],
  [Symbol(mongoErrorContextSymbol)]: {} }

Thanks.

2

1 Answer 1

4
var url = "mongodb://0.0.0.0:27017/surveydb";

is ip adddress is in your nodejs container only, so you should know what is ip address of mongo container or assign to ip address gateway of containers.

var url = "mongodb://172.17.0.1:27017/surveydb";

or

var url = "mongodb://ipaddressofmongocontainer:27017/surveydb";
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.