Соединение с 127.0.0.1:5432 отказано. Убедитесь, что имя хоста и порт указаны правильно и что администратор почты принимает соединения TCP / IP - PullRequest
0 голосов
/ 24 апреля 2020

Я запускаю свой код из docker -compose, который пытается получить доступ к локальной базе данных (postgres). всякий раз, когда я пытаюсь запустить, я получаю эту ошибку

Connection to 127.0.0.1:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.

, но postgres работает на порту 5432

, вот результат sudo netstat -ltnp | grep postgres

tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      1995/postgres

Я использую postgres v 10.9 в операционной системе ubunto.

1 Ответ

0 голосов
/ 24 апреля 2020

Если вы пытаетесь получить доступ к localhost внутри контейнера, то это локальный хост контейнера, а не ваша машина или какой-либо другой контейнер. Если ваше приложение и база данных объявлены в одном и том же составе, используйте одну и ту же сеть, в которой вы можете использовать имя контейнера

Это правильно, но если на вашем локальном компьютере установлена ​​Postgres, вы может обойти ограничение контейнера, задав IP-адрес вашей машины, например, подключившись к Postgres по: 5432

Если все еще не работает, проверьте, есть ли у вас какие-либо ограничения брандмауэра на локальном компьютере, на порту 5432 и проверьте, если Postgres настроен на получение данных из внешнего источника.

Кроме того, этот пример следует использовать только «дома», я не предлагаю использовать его в сети компании или в любой производственной среде.

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