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

У меня есть док-контейнер, работающий на машине Centos с использованием официального образа докера Postgres, и он не может быть подключен удаленно.sudo docker ps | grep postgres дает

492192ff9170 postgres "/docker-entrypoint.s" 2 года назад Up 18 часов 0.0.0.0:5432->5432/tcp postgres

когдаЯ пытаюсь psql -h <server domain name> -p 5432 -U postgres на другом компьютере, он просто распечатал

psql: не удалось подключиться к серверу: Тайм-аут операции
Работает ли сервер на хосте [имя домена] ([ipадрес]) и принимает соединения TCP / IP через порт 5432?

Я сделал sudo iptables -S | grep 5432 на удаленном сервере, и он распечатал

-A DOCKER -d 172.17.0.2 / 32!-i docker0 -o docker0 -p tcp -m tcp --dport 5432 -j ПРИНЯТЬ

, поэтому не похоже, что port 5432 заблокировано

внутри контейнера /var/lib/postgresql/data/,
host all all 0.0.0.0/0 md5 было добавлено к pg_hba.conf, в то время как postgresql.conf имеет listen_addresses = '*'.

Тем не менее, к нему нельзя получить доступ удаленно, хотя я могу успешно подключиться к экземплярулокально используя psql -h localhost -p 5432 -U postgres

Может ли кто-нибудь пролить свет на эту проблему?Очень ценится.

1 Ответ

0 голосов
/ 20 марта 2019

Как вы запустили контейнер postgres?

Возможно, вам не хватает только опции привязки порта контейнера к хосту.

Попробуйте добавить -p 5432:5432 в команду запуска Docker.Это сопоставит порт 5432 в контейнере с портом 5432 на хосте Docker (ваш удаленный сервер).

См. Документация по Docker для сетей для получения дополнительной информации.Смотрите также этот пример postgres .

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