Ich bin ein Docker-Container auf MacOS läuft, die einen Postgres-Server und MongoDB-Server beginnt wie folgt:Wie verbinde ich mich mit MongoDB, das im Docker-Container läuft?
docker run -p 80:80 -p 27017:27017 dockertest
* Starting PostgreSQL 9.3 database server
...done.
* Starting database mongodb
...done.
Die Ausgabe zeigt, dass der MongoDB-Server korrekt gestartet wird. Dann Nachschlag ich die IP der VM in dem der Behälter ausgeführt wird, wie folgt aus:
docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default * virtualbox Running tcp://192.168.99.100:2376 v1.11.2
Die Ports scheinen abgebildet werden:
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
Allerdings, wenn ich an die MongoDB anschließen wollen in ein weiteres Terminal-Fenster,
mongo 192.168.99.100:27017
ich folgende Fehlermeldung erhalten mit:
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
Ich hatte bereits ähnliche Fragen (z. B. Unable to connect to mongoDB running in docker container), aber die vorgeschlagene Lösung scheint nicht zu funktionieren.
Stellen Sie sicher, dass Mongo-Container Port 27017 zugeordnet ist. Versuchen Sie 'Docker ps -a' und überprüfen Sie die Port-Zuordnung –
Ich tat das, fügte die Ausgabe von" Docker ps "zur Frage hinzu. – MaVe
ssh in den Container und prüfen, ob der Mongo-Prozess läuft. – Shibashis