我试图让我的应用代码与我的postgres数据库进行通信,每个数据库都在单独的容器中运行。但是,每当我尝试访问我的数据库时,我都会继续"拨打tcp 172.19.0.3:5432:getsockopt:连接被拒绝" 我明白这意味着什么都没有收听5432.但我不明白这是怎么回事,因为docker报告启动我的app服务器或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
] 4
注意:尝试连接到0.0.0.0:32793时会产生pgAdmin错误。 x&d连接是一个不同的已保存和正常工作的服务器(我没有尝试连接到它)。
答案 0 :(得分:0)
发布您的docker-compose文件有助于更好地回答您的问题。不过,我可以尝试一下你的截图。
在您的docker-compose文件中,将端口条目 - 5432或 - 5432:5432更改为
ports:
- "127.0.0.1:5432:5432"
然后放手一搏。问题似乎与IPv6和IPv4有关。通过此更改,您应该能够连接到postgres。
答案 1 :(得分:0)
我决定在不同的计算机上测试我的原始设置,事情似乎正常。看来我的原始问题仅限于我的桌面,我可能需要在该计算机上解决一些网络配置问题。