#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