Как подключиться к Postgres с хоста Docker с помощью docker-compose up-d

#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 ?