Postgresql 如何使用docker加速postgres数据库
我正在尝试让我的应用程序代码与我的postgres db通信,每个数据库都在单独的容器中运行。然而,每当我尝试访问我的数据库时,我总是得到“拨号tcp 172.19.0.3:5432:getsockopt:connection Rejected”,我理解这意味着端口5432上没有任何侦听内容。但我不明白这是怎么回事,因为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'
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地址,因此将无法找到该服务。