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

时间:2015-04-08 07:41:47

标签: php database postgresql docker

我有一个带有apache2的debian wheezy服务器。该数据库是一个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 - volume-from db-data postgres:9.1

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

$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服务器:超时在第2行的/var/www/start/info.php中过期

  • 我可以通过VPN和pgadmin从远程和本地通过telnet localhost 5434连接。
  • 同样nmap -p 5434 localhost返回,此端口已打开。
  • 我已安装php5-pgsql
  • docker logs ...没有条目,即使在完全调试模式下也是如此

我真的很感激任何意见!

0 个答案:

没有答案