Я запускаю Redis (образ докера) в локальном приложении nodejs - PullRequest
0 голосов
/ 17 февраля 2019

Я пытаюсь использовать соединение redis в приложении js локального узла, но выдает ошибку ---

events.js: 183 throw er;// Необработанное событие 'error' ^

Ошибка: сбой подключения Redis к 127.0.0.1:6379 - подключение ECONNREFUSED 127.0.0.1:6379 в TCPConnectWrap.afterConnect [as oncomplete] (net.js: 1191: 14)

enter image description here

enter image description here

running none docker image

running docker image

Ответы [ 2 ]

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

Вы пытаетесь подключиться не к тому порту.Как говорится в команде docker ps, порт, на котором redis прослушивает, - 32768.Подключение к этому порту должно решить вашу проблему.

См. официальную документацию докера (в частности, флаг -p) для получения дополнительной информации о настройке прослушивания порта.

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

Если я правильно понимаю, вы запускаете узел внутри контейнера Docker.Этот процесс узла пытается связаться с экземпляром redis, работающим на локальном хосте.

Это не работает, потому что контейнер (узел) имеет свой собственный сетевой стек, а 127.0.0.1 не указывает на хост.

В этом случае вам необходимо либо

  1. Запустить redis в своем собственном контейнере (и использовать, например, docker-compose), ИЛИ
  2. Изменить узел соединения Node для redis с localhost(или 127.0.0.1) на IP-адрес вашего хоста.См. Как получить основной IP-адрес локального компьютера в Linux и OS X? для поиска IP-адреса
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...