postgres-docker-container中无法连接php到db

我有一个debian wheezy服务器与Apache2。 该数据库是一个docker容器 – 标准postgres:9.1与端口5432暴露localhost:5434,数据文件夹是在一个自己的容器通过-v选项连接。

数据容器

docker run –name db-data -v / data -e PGDATA = / data -it –entrypoint / bin / bash postgres:9.1

数据库容器

docker run -d –name db -e POSTGRES_USER = name -e POSTGRES_PASSWORD = pwd -e PGDATA = / data -p 5434:5432 –volumes-from db-data postgres:9.1

我使用一个简单的PHP脚本来testing连接:

$db = pg_connect("host=localhost port=5434 dbname=name user=name password=pwd connect_timeout=5"); if ($db) { echo pg_options($db); } else { echo "error"; } 

当我通过php info.php运行这个脚本时,在短暂的等待时间后出现以下错误:

PHP警告:pg_connect():无法连接到PostgreSQL服务器:超时过期/var/www/start/info.php在第2行

  • 我可以通过远程和本地通过telnet localhost 5434通过VPN和pgadmin进行连接。
  • 另外nmap -p 5434 localhost返回,这个端口是打开的。
  • 我已经安装了php5-pgsql
  • docker日志…没有条目,即使在完全debugging模式

我真的很感激任何input!