#postgresql #docker #docker-compose
#postgresql #докер #докер-сочинение
Вопрос:
Я пытаюсь подключиться к серверу Postgres внутри контейнера Docker , запущенного с помощью docker-compose up -d
клиента Postgres, запущенного на хосте (Beekeeper Studio или TablePlus).
- Я запускаю свой собственный образ Docker на основе
heroku/heroku:20
(который работает под управлением Ubuntu). - Сервер Postgres работает нормально.
- Мое веб-приложение внутри него работает нормально.
- Я могу подключиться к adminer (веб-клиент SQL, работающий внутри контейнера).
- Порты настроены как
5432:5432
внутриdocker-compose.xml
.
- Я могу получить IP-адрес контейнера.
- Через
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' heroku20php7container
- Через
- Я добавил
listen_addresses = '*'
, чтобыpostgresql.conf
. - Я впустил всех хозяев
pg_hba.conf
.- Добавив эту строку:
host all all 0.0.0.0/0 md5
. - Это, вероятно, излишне, и я захочу ограничить диапазон IP-адресов, как только все заработает.
- Добавив эту строку:
Теперь, когда я пытаюсь подключиться к Postgres с помощью Beekeeper Studio (или TablePlus), время подключения просто истекает.
Какие у меня есть варианты?
Комментарии:
1. Какое имя хоста вы пытаетесь использовать?
2. Вы ищете решение для ограничения доступа к нескольким IP-адресам из вашей базы данных?
3. @RobertMoskal Когда я подключаюсь с помощью администратора, я подключаюсь к
localhost
. При попытке подключиться с хоста я попытался использовать IP (например, 172.26.0.2). Не уверен, что это ответ на ваш вопрос.4. @SumeetKumarYadav Нет, я просто хочу иметь возможность подключиться к SQL-клиенту с хоста (macOS) на сервер Postgres внутри контейнера. (это все местное развитие.)
5. Вы сказали, что ваши порты открыты правильно. Вы пробовали подключиться к
localhost:5432
?