Не удается подключиться к mongodb, работающему в контейнере docker - PullRequest
0 голосов
/ 09 марта 2020

У меня работает контейнер БД mongoDB, и я не могу подключиться к нему с помощью Robo 3T, я получаю следующую ошибку.

enter image description here

Container is running and waiting for connection at 27017

Docker ps shows the same

connection settings in robo 3T

Любая помощь в том, что я скучаю здесь.

Ответы [ 2 ]

0 голосов
/ 09 марта 2020

Посмотрите на столбец PORTS вывода docker ps:

PORTS
27017/tcp

Сопоставление не указано (символ ->). Это означает, что порт контейнера не публикуется за пределами сетей docker.

Два возможных способа решения вашей проблемы:

  • Не указывайте localhost в качестве имени хоста, а ip контейнера: вы можете получить его с помощью docker inspect CONTAINER. Если вы используете Cygwin: docker inspect CONTAINER | grep IPAddress.
  • publi sh порт контейнера mon go на хост-компьютере. Вы можете опубликовать sh на том же порту или нет с помощью аргумента -p, например -p HOST_PORT:CONTAINER_PORT.
    Например, с тем же портом: docker run -d -p 27017:27017 mongo:latest.

С помощью docker ps вы можете видеть, что порт опубликован на хосте:

PORTS
0.0.0.0:27017->27017/tcp
0 голосов
/ 09 марта 2020

Свяжите порт mongodb с вашим docker хостом, чтобы получить к нему доступ с помощью localhost с хоста -

docker run -d -p 27017:27017 ....

Я подозреваю, что вам не хватает -p 27017:27017.

...