web-dev-qa-db-fra.com

Impossible de se connecter à mongoDB exécuté dans le conteneur Docker

En suivant cet exemple: https://docs.docker.com/engine/examples/mongodb/

Lorsque vous essayez de vous connecter à mongoDB avec: mongo ip:27017 (où ip est le nom de boot2docker ip) + le numéro de port de docker ps:

27017/tcp
ou avec -P
0.0.0.0:49155->27017/tcp

Quoi qu'il en soit, j'obtiens les erreurs suivantes:

avertissement: échec de la connexion à l'ip: 27017, raison: errno: 61 connexion refusée

Erreur: impossible de se connecter au serveur IP: 27017 (IP), la tentative de connexion a échoué sur src/mongo/Shell/mongo.js: 148 exception: échec de la connexion

22
Chris G.

J'utilisais le port 27017 au lieu de 49155 (doh, redirection de port)

0.0.0.0:49155->27017/tcp

Merci à ZeissS

13
Chris G.

Si vous avez spécifié le port correct et que vous ne parvenez toujours pas à vous connecter à mongodb exécuté dans Docker (comme moi), assurez-vous que vous utilisez le nom du service (ou le nom du conteneur) dans votre URL de connexion, par exemple mongodb://mongodb_service:27017/mydb, qui est défini dans votre docker-compose.yml:

services:
  mongodb_service:
    image: mongo

J'utilisais la valeur hostname et ce n'est pas la bonne chose à faire. Vous pouvez le vérifier en consultant docker inspect mongodb_service dans la section Aliases.

21
falsecrypt

Si vous êtes sur un Mac et utilisez Docker Machine, procédez comme suit:

1. Obtenez le nom du VM exécutant le démon docker 
 $ docker-machine ls
 
 2. Obtenez les informations IP de la VM 
 $ docker-machine env 
 
 3. Connectez-vous avec le client mongo à l'adresse IP VM et au port mongo mappé 
 $ mongo VM-IP: port
11
VMTrooper