Docker-Mongodb — Как подключиться к образу mongo в локальной (Windows)

#mongodb #docker

#mongodb #docker

Вопрос:

Я пытаюсь подключиться к своему образу docker mongo, я установил mongodb в local и добавил путь к ячейке mongodb в переменную среды Windows path. И я выполняю следующие шаги

 cd <docker-location>

docker login

docker ps
  

— чтобы проверить, что mongo уже запущен

 docker pull myrepo/mymongo-image:1.0
docker run -p 27017:27017 -d --net=host --name=mytestDB myrepo/mymongo-image:1.0

docker logs mytestDB 
  

Вывод: запуск MongoDB: pid = 6 порт = 27017 dbpath =/data/ db 64-разрядный хост = moby
docker ps
Вывод:

 CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS              PORTS               NAMES
34598734598        myrepo/mymongo-image:1.0   "/bin/sh -c /usr/bin/"   12 hours ago        Up About a minute                       mytestDB
  

запустите mongo в локальном:

 mongo --port 27017
  

Но я получаю сообщение об ошибке, подобное этому:

 MongoDB shell version: 3.2.1
connecting to: 127.0.0.1:27017/test
2016-10-13T20:04:12.273 0530 W NETWORK  [thread1] Failed to connect to 127.0.0.1:27017, reason: errno:10061 No connection could be made because the target machine actively refused it.
2016-10-13T20:04:12.277 0530 E QUERY    [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:226:14
@(connect):1:6

exception: connect failed
  

Пожалуйста, дайте мне знать, где я допустил ошибку.

Комментарии:

1. когда вы запускаете «docker ps», ваш столбец ports пуст … это ошибка копирования вставки, или это то, как она на самом деле отображается? Может ли ваш локальный хост каким-то образом не открыть этот порт?

2. Я также заметил, что в команде «docker ps» не отображается порт.

Ответ №1:

У меня есть решение, я хотел бы поделиться им.

'--noauth --bind_ip=0.0.0.0' в моих командах отсутствуют параметры.

Это блог, который меня выводит.

Учебное пособие: настройка экземпляра образа MongoDB с помощью Docker Toolbox

Комментарии:

1. ссылка, о которой упоминал @sun выше, мне очень помогла

Ответ №2:

если вы уже установили docker-toolbox и создали образ, но не можете визуализировать свою базу данных mongodb через robo3t

для этой иллюстрации я создал свой образ с помощью command

 docker run --name blogA -p 27017:27017 -d mongo
  

Примечание: поскольку 27017 является портом для mongodb

Откройте VirtualBox. Щелкните правой кнопкой мыши компьютер «По умолчанию».

Выберите настройки в меню.

Выберите вкладку Сеть в меню настроек.

Выберите переадресацию портов в нижней части параметра сеть.

Щелкните значок плюса справа от меню переадресации портов.

Создайте новую запись с именем mongo.

Протокол должен быть TCP. IP-адреса хоста и гостя можно оставить пустыми.

Установите порт хоста на порт, который вы используете при создании своего

изображение, которое я использовал для порта 27017. Установите гостевой порт на 27017.

установите robo3t из http://robomongo.org/download.html

щелкните значок под вкладкой файл, чтобы создать новое соединение

Выберите, чтобы создать новое соединение.

Назовите свое соединение и задайте адрес localhost и порт на порт, который вы также установили для своего хост-порта в VirtualBox, в моем случае 27017