Чтобы получить доступ к базе данных PostgreSQL (pgsql), работающей в контейнере Docker, с определенного IP-адреса, вы можете рассмотреть следующие методы:
-
Открыть порт PostgreSQL. При запуске контейнера PostgreSQL вы можете предоставить необходимый порт (по умолчанию — 5432), используя параметр
-pв команде запуска Docker. Например:docker run -p 5432:5432 postgres. Это позволит внешним IP-адресам получать доступ к контейнеру PostgreSQL. -
Настройка сети Docker. Docker предоставляет различные сетевые параметры для управления доступностью контейнера. Вы можете создать собственную сеть Docker и подключить к ней контейнер PostgreSQL. Затем, используя сетевые функции Docker, вы сможете контролировать доступ к контейнеру с определенных IP-адресов или подсетей.
-
Используйте обратный прокси-сервер. Настройте обратный прокси-сервер, например Nginx или HAProxy, перед контейнером PostgreSQL. Настройте обратный прокси-сервер для приема запросов от определенных IP-адресов и пересылки их в контейнер PostgreSQL. Это добавляет дополнительный уровень безопасности и контроля доступа к базе данных.
-
Настройте правила брандмауэра. Если у вас установлен брандмауэр, вы можете изменить его правила, чтобы разрешить входящие подключения к порту PostgreSQL (5432) с нужного IP-адреса. Это гарантирует, что только указанный IP-адрес сможет получить доступ к базе данных.