У меня есть док-контейнер, работающий на машине 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
Может ли кто-нибудь пролить свет на эту проблему?Очень ценится.