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.
Upewnij się, że kontener mongo jest zmapowany do portu 27017. Wypróbuj 'doker ps -a' i sprawdź mapowanie portu –
Zrobiłem to, dodałem wyjście" doker ps "do pytania. – MaVe
ssh do kontenera i sprawdź, czy działa proces mongo. – Shibashis