Как подключить докер MongoDB от Studio 3T?
Я использую образ докера https://hub.docker.com/_/mongo/ (последняя версия MongoDB)
Я запускаю команду
docker run --name some-mongo -d mongo
Затем я устанавливаю Studio 3T, я ввожу информацию о подключении, как это
но я не могу подключиться Какое правильное соединение необходимо объявить в Studio 3T в этом случае? Как подключить экземпляр MongoDB (докер) к Studio 3T?
7 ответов
Вам нужно экспортировать порт, который вы хотите использовать в команде Docker. например
docker run -p 127.0.0.1:27017:27017 --name some-mongo -d mongo
Это открывает порт контейнера на вашем хост-компьютере.
Нажмите Новое соединение.
Введите имя подключения
Нажмите на
From URI
Введите URI в следующем формате
mongodb://{username}:{password}@{ip_address}:{port}/?authSource=admin
Нажмите
OK
Нажмите
Test Connection
Работает?
- Нет: проверьте свое имя пользователя, пароль и т. Д.
- да: Поздравляю!
Я запускал mongodb с wsl2 и докером, поэтому мне нужно было просто добавить «из uri» и настроить ip_adress с ip из wsl2.
Объяснение:
- Ури: Эта строка подключения — это то, как мы можем поговорить с robo 3t, чтобы понять, как подключиться к нашему серверу mongodb.
- ip_address: поскольку докер создает контейнеры, похожие на серверы, каждый контейнер имеет ip_adress, поэтому, чтобы получить доступ к этому серверу mongodb, нам нужно найти ip_adress из нужного нам контейнера.
Я использовал этот URI:
mongodb://{имя пользователя}:{пароль}@{ip_адрес}:{порт}/?authSource=admin
имя пользователя = MONGO_INITDB_ROOT_USERNAME
пароль = MONGO_INITDB_ROOT_PASSWORD
port = 27017(порт контейнера Docker будет настроен на параметр Docker "-p")
ip_address = IP от wsl2 в моем случае или localhost, если вы запускаете докер локально.
Это была моя команда для запуска контейнера в первый раз:
docker container run -d -e MONGO_INITDB_ROOT_USERNAME=mongouser -e MONGO_INITDB_ROOT_PASSWORD=mongopwd -p 27017:27017 -v mongo_vol:/data/db mongo:4.4.3
Если приведенные ниже ответы вам не подходят, попробуйте следующее:
Нашел решение в https://jquery.develop-bugs.com/article/10214076/How+to+connect+MongoDB+docker+by+Studio+3T%3F
Я использую образ докера https://hub.docker.com/_/mongo/ (последняя версия MongoDB) Я запускаю команду docker run --name some-mongo -d mongo Затем я устанавливаю Studio 3T и ввожу такую информацию о подключении, но Я не могу подключиться. Какое правильное соединение необходимо декларировать в Studio 3T в этом случае? Как подключить экземпляр MongoDB (докер) от Studio 3T?
Вам нужно экспортировать порт, который вы хотите использовать в своей команде docker. например
docker run -p 127.0.0.1:27017:27017 --name some-mongo -d mongo
Это открывает порт контейнера на вашем хост-компьютере.
Вам нужно найти IP-адрес, на котором запущен контейнер Docker. На Mac докер работает в фоновом режиме внутри виртуальной машины Linux, имеющей собственный IP-адрес. Таким образом localhost работать не будет. Чтобы найти IP,run docker-machine env default
и установите этот IP в поле Сервер.
Ранее на этой неделе у меня возникла проблема с подключением Studio 3T к MongoDB, и она заняла весь мой рабочий день, поэтому я отказался от использования Studio 3T, чтобы освободить время для других дел и альтернативы. Сегодня я нашел короткий видеоурок от Studio 3T о том, как подключить Studio 3T к MongoDB. Следуя инструкциям, я был удивлен, что соединение было установлено успешно.
Я рекомендую вам посмотреть это видео: https://www.youtube.com/watch?v=_Ka3-HGNlYE.
Если это вам поможет, не забудьте отметить этот ответ.
для тех, кто работает в Windows, проверьте диспетчер задач и убедитесь, что у вас нет локальной установки сервера mongo db, затем используйте
localhost
в строке адреса / подключения
Вам нужно найти IP-адрес, на котором работает контейнер Docker. На Mac Docker работает в фоновом режиме внутри виртуальной машины Linux, которая имеет свой собственный IP. таким образом localhost
не будет работать.
Чтобы найти IP, запустите docker-machine env default
и установите этот IP в поле Сервер.