Ответ 1
Я использовал порт 27017 вместо 49155 (doh, переадресация портов)
0.0.0.0:49155- > 27017/TCP
Благодаря ZeissS
Следуя этому примеру: https://docs.docker.com/engine/examples/mongodb/
При попытке подключиться к mongoDB с помощью: mongo ip:27017
(где ip - имя от boot2docker ip) + номер порта из docker ps:
27017/TCP
или с -P
0.0.0.0:49155- > 27017/TCP
В любом случае я получаю следующие ошибки:
предупреждение: не удалось подключиться к ip: 27017, причина: errno: 61 Connection отказался
Ошибка: не удалось подключиться к серверу ip: 27017 (ip), попытка подключения failed at src/mongo/shell/mongo.js: 148 exception: connect failed
Я использовал порт 27017 вместо 49155 (doh, переадресация портов)
0.0.0.0:49155- > 27017/TCP
Благодаря ZeissS
Если вы указали правильный порт и все еще не можете подключиться к mongodb, работающему в докере (например, я), убедитесь, что вы используете имя службы (или имя контейнера) в URL вашего соединения, например. mongodb://mongodb_service:27017/mydb
, который определен в вашем docker-compose.yml
:
services:
mongodb_service:
image: mongo
Я использовал значение hostname
, и это не правильная вещь. Вы можете проверить это, посмотрев docker inspect mongodb_service
в разделе Aliases
.
Если вы находитесь на Mac и используете Docker Machine, выполните следующие действия:
1. Get the name of the VM running docker daemon $ docker-machine ls 2. Get the VM IP info $ docker-machine env 3. Connect with the mongo client to the VM IP and the mongo mapped port $ mongo VM-IP:port