Mongodb – Unable to connect to mongoDB running in docker container

dockermongodb

Following this example: https://docs.docker.com/engine/examples/mongodb/

When trying to connect to mongoDB with: mongo ip:27017
(where ip is the name from boot2docker ip) + the port number from docker ps:

27017/tcp
or with -P
0.0.0.0:49155->27017/tcp

Either way I get the following errors:

warning: Failed to connect to ip:27017, reason: errno:61 Connection
refused

Error: couldn't connect to server ip:27017 (ip), connection attempt
failed at src/mongo/shell/mongo.js:148 exception: connect failed

Best Answer

If you specified the correct port and still not able to connect to mongodb running in docker (like me), make sure you are using the service name (or container name) in your connection URL, e.g. mongodb://mongodb_service:27017/mydb, which is defined in your docker-compose.yml :

services:
  mongodb_service:
    image: mongo

I was using the hostname value and that's not the correct thing to do. You could verify this by looking at docker inspect mongodb_service in the Aliases section.