2016-06-05 11 views
13

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.

+0

Stellen Sie sicher, dass Mongo-Container Port 27017 zugeordnet ist. Versuchen Sie 'Docker ps -a' und überprüfen Sie die Port-Zuordnung –

+0

Ich tat das, fügte die Ausgabe von" Docker ps "zur Frage hinzu. – MaVe

+0

ssh in den Container und prüfen, ob der Mongo-Prozess läuft. – Shibashis

Antwort