connect robomongo to mongoDB docker container

migorman picture migorman · Mar 1, 2016 · Viewed 15.7k times · Source

I'm running a NodeJS App with docker-compose. Everything works fine and I can see all my data by connecting to Mongo inside container. But when I connect to RoboMongo I don't see any data.

How can I deal with this problem?

Answer

Maxim Zubarev picture Maxim Zubarev · May 24, 2017

There is another way. You can

  1. SSH with Robomongo into your actual virtual server that hosts your docker applications (SSH tab, check "Use SSH tunnel" and complete the other fields accordingly)
  2. Now ssh into the same machine in your terminal.
  3. docker ps should show you your MongoDB container.
  4. docker inspect <mongo container id> will print out complete information about that container. Look for IPAddress in the end, that will give you the local IP of the container.
  5. In the "Connection" tab in Robomongo use that container IP to connect.

Another sidenote: Make sure that you don't expose your mongodb service ports in any way (neither Dockerfile nor docker-compose.yml), cause that will make your database openly accessible from everywhere. Assuming that you don't have set up a username / password for that service you will be scanned and hacked soon.