2017-02-01 10 views
0

Я не могу подключиться к PostgreSQL с кодом php. Мой Postgresql - контейнер докеров. я получаю IP с:Не удается подключиться к PostgreSQL в Docker через PHP

docker inspect toshi_db_1 

Как я пытаюсь подключиться:

$dbconn = pg_connect("host=172.17.0.2 port=5432 dbname=toshi_development")or die("Could not connect"); 

Ошибка: Предупреждение: pg_connect(): Не удается подключиться к серверу PostgreSQL: не удалось подключиться к серверу : Время ожидания подключения (0x0000274C/10060) Является ли сервер, запущенный на хосте " 172.17.0.2 " и принимающий соединения TCP/IP на порту 5432?

Я думал, что могут быть проблемы в PostgreSQL.conf с параметром конфигурации listen_address, но он позволяет все соединения, поэтому я понятия не имею, где проблема.

UPDATE: Я исправил его сам, просто попытался выставить неправильный порт в файле для записи докеров.

+0

Правильно ли вы открывали порт при создании контейнера? Вы используете «докер-композитор»? –

+0

Я использую docker-composer – Welllback

+0

Правильно ли вы показываете порт 5432? Покажите нам свой файл docker-compose.yml. –

ответ

1

Я бегу в такой же ситуации и сегодня. Решение заменило порт localhost на имя контейнера. Нравится:

$dbconn = pg_connect("host=toshi_db_1 port=5432 dbname=toshi_development")or die("Could not connect"); 

Не уверен, что это должно быть то же самое с IP-адресами. Но не меняются ли IP-адреса?

Итак, для других людей, рассматривающих это сообщение: помните, что 127.0.0.1 всегда указывает на текущий контейнер. Поэтому вы должны заменить эту часть «localhost» своим именем контейнера.

Смежные вопросы