Не удается подключиться к mongodb в контейнере Docker с локальной машины - PullRequest
0 голосов
/ 01 февраля 2019

У меня запущен Docker-контейнер с mongodb someId mongo:3.6 "docker-entrypoint.s…" 11 days ago Up 11 days 0.0.0.0:27017->27017/tcp myMongo Когда я пытаюсь подключиться к этому mongo с локальной машины через mongo localhost:27017 Я получаю сообщение об ошибке

error: couldn't connect to server localhost:27017, connection attempt failed: SocketException: Error connecting to localhost:27017 (127.0.0.1:27017) :: caused by :: Connection refused : connect@src/mongo/shell/mongo.js:328:13

ЧтоЯ делаю не так?

Обновление Вот вывод docker-compose ps

myMongo docker-entrypoint.sh --wir ... Up 0.0.0.0:27017->27017/tcp

Docker-compose file

version: '2'

services:
  mongo:
    image: "mongo:3.6"
    container_name: myMongo
    ports:
     - "27017:27017"
    mem_limit: 2G

Обновление окончательно Перезапустил мою Ubuntu, запустил docker-compose после того, как agin, и все начало работать как положено: mongo localhost теперь работает.Подозреваю, что в процессе выхода из системы ubuntu 18.04 есть проблема, потому что до этого (и до перезапуска системы) я несколько раз выполнял вход / выход из системы

1 Ответ

0 голосов
/ 02 февраля 2019

Шаги для запуска контейнеров Docker Mongo и подключения из локальной системы:

  1. Создать файл Docker docker-compose.yml как:

    version: '2'
    services:
      mongo:
        image: "mongo:3.6"
        container_name: myMongo
        ports:
         - "27017:27017"
        mem_limit: 2G
    
  2. Перед установкой docker composer вы должны убедиться, что порт 27017 уже занят какими-то другими процессами или нет:

    netstat -an | grep 27017
    

    или

    lsof -i -P ;// look for the port 27017
    

    Если номер порта 27017 уже занят, товам нужно изменить номер порта в docker compose с 27027 на любой, какой вы хотите.

  3. запустить контейнер докера с помощью следующей команды [вы должны находиться в одном каталоге, где бы ни находился докер-compose.yml файл]]

    docker-compose up
    

    проверьте скриншот ниже, как создаются и запускаются контейнеры enter image description here

  4. Теперь ваш докерконтейнер с mongo db 3.6 запущен, откройте новый терминал и соединитесь с оболочкой mongo как mongo, если порт по умолчанию - 27017, в противном случае mongo --port <whateverport number in docker compose>

Надеюсь, это объяснение поможет вама также кто-то еще:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...