2016-06-05 26 views
13

biegnę pojemnik Docker na MacOS, który uruchamia serwer PostgreSQL i serwera MongoDB następująco:Jak połączyć się z MongoDB działającym w kontenerze Docker?

docker run -p 80:80 -p 27017:27017 dockertest 
* Starting PostgreSQL 9.3 database server 
    ...done. 
* Starting database mongodb 
    ...done. 

Wyjście pokazuje, że serwer MongoDB jest uruchamiany poprawnie. Potem odnośnika IP VM, w którym pojemnik jest uruchomiony, tak:

docker-machine ls 
NAME  ACTIVE DRIVER  STATE  URL       SWARM DOCKER ERRORS 
default *  virtualbox Running tcp://192.168.99.100:2376   v1.11.2 

Porty wydają się być odwzorowywane:

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 

Jednak, gdy chcę połączyć się z MongoDB w kolejnym oknie terminala za pomocą

mongo 192.168.99.100:27017 

pojawia się następujący błąd:

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 

Już przejrzałem podobne pytania (np. Unable to connect to mongoDB running in docker container), ale proponowane rozwiązanie nie działa.

+0

Upewnij się, że kontener mongo jest zmapowany do portu 27017. Wypróbuj 'doker ps -a' i sprawdź mapowanie portu –

+0

Zrobiłem to, dodałem wyjście" doker ps "do pytania. – MaVe

+0

ssh do kontenera i sprawdź, czy działa proces mongo. – Shibashis

Odpowiedz