Я использую postgres: 9.5.3 изображение докера. Я начинаю контейнеры, а затем пытаюсь подключиться к базе данных Psql с удаленным хостом, но каждый раз, когда он терпит неудачу с ошибкой:Postgres Docker - невозможно подключиться с удаленного сервера
psql: could not connect to server: Connection refused
Is the server running on host "172.18.0.2" and accepting
TCP/IP connections on port 5432?
В моем Докере-Compose файл, я монтаж pg_hba.conf. Это мой докер-Compose файл:
services:
db:
networks:
- test
image: postgres:9.5.3
expose:
- 5432
volumes:
- ./pgdata/:/var/lib/postgresql/data
- ./pg_hba.conf/:/var/lib/postgresql/data/pg_hba.conf
Я изменил мой файл pg_hba.conf принимать удаленные соединения со всех хостов на основе инструкций here. Мой pg_hba.conf выглядит следующим образом:
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 0.0.0.0/0 trust
# IPv6 local connections:
host all all ::0/0 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres trust
#host replication postgres 127.0.0.1/32 trust
#host replication postgres ::1/128 trust
host all all 0.0.0.0/0 md5
И мой postgresql.conf имеет следующую строку тоже: listen_addresses = '*'
Когда я пытаюсь подключиться к базе данных от хоста я бег контейнера на это успешно соединяется. Но когда я пытаюсь подключиться с любой удаленной машины, используя команду psql -h 172.18.0.2 -U postgres -d postgres -p 5432
, она дает мне ошибку подключения, которая означает, что удаленные подключения не работают. Со всеми этими настройками я бы ожидал, что он подключится. Что мне здесь не хватает?
"172.18.0.2" Является ли 172.0.0.0/8 мостик/проложено/файрвол? IIRC есть что-то особенное о 172. сетях. – wildplasser