expose - ¿Cómo conectarse a MongoDB ejecutándose en un contenedor Docker?
docker start mongodb container (1)
El problema no estaba relacionado con Docker, sino con el enlace en la configuración de MongoDB. Ver, por ejemplo, mongodb.conf bind_ip = 127.0.0.1 no funciona pero funciona 0.0.0.0
Estoy ejecutando un contenedor Docker en MacOS que inicia un servidor Postgres y un servidor MongoDB de la siguiente manera:
docker run -p 80:80 -p 27017:27017 dockertest
* Starting PostgreSQL 9.3 database server
...done.
* Starting database mongodb
...done.
La salida muestra que el servidor MongoDB se inicia correctamente. Luego busco la IP de la máquina virtual en la que se ejecuta el contenedor, de esta manera:
docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default * virtualbox Running tcp://192.168.99.100:2376 v1.11.2
Los puertos parecen estar mapeados:
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
39e5198e4693 dockertest "/bin/sh -c ''service " 3 minutes ago Up 3 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:27017->27017/tcp drunk_nobel
Sin embargo, cuando quiero conectarme a MongoDB en otra ventana de terminal, usando
mongo 192.168.99.100:27017
Obtuve el siguiente error:
MongoDB shell version: 2.6.4
connecting to: 192.168.99.100:27017/test
2016-06-05T18:48:19.050+0200 warning: Failed to connect to 192.168.99.100:27017, reason: errno:61 Connection refused
2016-06-05T18:48:19.052+0200 Error: couldn''t connect to server 192.168.99.100:27017 (192.168.99.100), connection attempt failed at src/mongo/shell/mongo.js:148
exception: connect failed
Ya he visto preguntas similares (p. Ej., No se puede conectar a mongoDB que se ejecuta en el contenedor de la ventana acoplable ) pero la solución propuesta no parece funcionar.