我一直试图访问在docker容器中运行的PostgreSQL。我能够从localhost:8080
上的adminer中连接到PostgreSQL,这是另一个容器,但是我无法从我的主机连接,尽管我正在映射端口5432
到主机。
作为容器连接的IP,我一直在使用从“docker inspect <postgre_container>
”获取的IP地址 - 通常是172.21.0.2/3
。
这就是我的docker-compose.yml的样子:
version: '3.1'
services:
db:
image: postgres:9.6.0
restart: always
environment:
POSTGRES_PASSWORD: root
POSTGRES_USER: root
ports:
- "5432:5432"
volumes:
- pgdata:/var/lib/postgresql/data
adminer:
image: adminer
restart: always
ports:
- 8080:8080
volumes:
pgdata:
我会很高兴任何提示,谢谢
答案 0 :(得分:1)
使用docker inspect
显示的IP地址是容器中的内部 IP地址。由于您使用外部端口5432进行端口映射,因此您应该通过localhost:5432(例如127.0.0.1:5432)访问Postgres。