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
J'utilisais le port 27017 au lieu de 49155 (doh, redirection de port)
0.0.0.0:49155->27017/tcp
Merci à ZeissS
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
.
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