сбой аутентификации по паролю для пользователя при подключении postgres с локального компьютера к docker

#postgresql #docker #authentication #postgresql-11

#postgresql #docker #аутентификация #postgresql-11

Вопрос:

Я использую контейнер docker для подключения postgres с моего локального компьютера к docker для импорта открытых данных карты улиц. Но я получаю сбой аутентификации для пользователя.

 docker run --name "postgis" -p 5432:5432 -d -t kartoza/postgis:11.5-2.8
  

мой файл pg_hba.conf

 # TYPE  DATABASE        USER            ADDRESS                 METHOD

# IPv4 local connections:
host    all             all             172.17.0.1/16            md5
host    all             all             0.0.0.0/0            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
host    replication     all             127.0.0.1/32            md5
host    replication     all             172.17.0.1/16            md5
host    replication     all             ::1/128                 md5  

Я md5 to trust также изменился, но все же столкнулся с проблемой ниже.

 2020-10-14 04:56:53.055 UTC [166] postgres@gis FATAL: password authentication failed for user "postgres"

2020-10-14 04:56:53.055 UTC [166] postgres@gis DETAIL: User "postgres" has no password assigned.

Connection matched pg_hba.conf line 100: "host all all 172.0.0.0/8 md5"  

и моя версия postgres — 11.9, а клиент — 11.8, а IP — "IPv4Address": "172.17.0.2/16"

Как я могу решить, пожалуйста, предложите мне

Комментарии:

1. Как вы запустили postgress? Он работает в контейнере? Какой результат дает вам docker ps

2. спасибо, моя проблема решена. команда запуска контейнера docker, о которой я упоминал в вопросе.

Ответ №1:

Изначально я использовал localhost:5432,127.0.0.1:5432 and 172.17.0.1:5432 в строке подключения к БД, которая вызывает эту проблему.

После использования указанного ниже адреса хоста в строке подключения моя проблема решена

 host.docker.internal:5432

postgres://db_user:db_password@host.docker.internal:5432/db