Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 如何使用docker加速postgres数据库_Postgresql_Tcp_Docker_Docker Compose - Fatal编程技术网

Postgresql 如何使用docker加速postgres数据库

Postgresql 如何使用docker加速postgres数据库,postgresql,tcp,docker,docker-compose,Postgresql,Tcp,Docker,Docker Compose,我正在尝试让我的应用程序代码与我的postgres db通信,每个数据库都在单独的容器中运行。然而,每当我尝试访问我的数据库时,我总是得到“拨号tcp 172.19.0.3:5432:getsockopt:connection Rejected”,我理解这意味着端口5432上没有任何侦听内容。但我不明白这是怎么回事,因为docker报告说启动我的应用服务器或postgres服务器时没有错误 version: '2' services: postgres: restart: 'no'

我正在尝试让我的应用程序代码与我的postgres db通信,每个数据库都在单独的容器中运行。然而,每当我尝试访问我的数据库时,我总是得到“拨号tcp 172.19.0.3:5432:getsockopt:connection Rejected”,我理解这意味着端口5432上没有任何侦听内容。但我不明白这是怎么回事,因为docker报告说启动我的应用服务器或postgres服务器时没有错误

version: '2'
services:
  postgres:
    restart: 'no'
    image: mhatch/eventcliq_pgdb
    volumes_from:
     - data
    ports:
     - "5432"
    environment:
     - POSTGRES_PASSWORD=TEST_PG_PWD

 data:
  restart: 'no'
  image: postgres:9.5.1
  volumes:
    - /var/lib/postgresql
    - /etc/postgresql
    - /var/log/postgresql
  command: "true"

  api:
    restart: 'no'
    build: .
    environment:
      - ENV=dev
    image: mhatch/eventcliq-api
    ports:
      - "80:3001"
    links:
      - postgres:db

]


注意:尝试连接到0.0.0.0:32793时会出现pgAdmin错误。x'd连接到另一个已保存且正在工作的服务器(我没有尝试连接到该服务器)。

发布docker compose文件将有助于更好地回答您的问题。尽管如此,我还是可以试试看你的截图

在docker compose文件中,将端口条目-5432或-5432:5432更改为

ports:
  - "127.0.0.1:5432:5432"

试一试。问题似乎出在IPv6与IPv4之间。有了这个改变,你应该可以连接到postgres。

我决定在另一台计算机上测试我的原始设置,一切似乎都正常。我的原始问题似乎仅限于我的桌面,可能需要在该计算机上解决一些网络配置问题。

感谢您的回复,但我不想硬编码端口映射。这不是硬编码端口映射。127.0.0.1只是本地主机。如果您不给出该地址,docker的网络接口会将其视为IPV6地址,因此将无法找到该服务。