Postgresql Pgadmin4无法连接到我的postgres数据库
这是我的docker-compose.yml文件:Postgresql Pgadmin4无法连接到我的postgres数据库,postgresql,docker-compose,pgadmin-4,Postgresql,Docker Compose,Pgadmin 4,这是我的docker-compose.yml文件: version: "3.5" services: db: image: myapp container_name: my-database environment: POSTGRES_USER: myuser POSTGRES_PASSWORD: mypasswd POSTGRES_DB: mydb expose: - "5432" ports:
version: "3.5"
services:
db:
image: myapp
container_name: my-database
environment:
POSTGRES_USER: myuser
POSTGRES_PASSWORD: mypasswd
POSTGRES_DB: mydb
expose:
- "5432"
ports:
- 8000:5432
volumes:
- /path/to/my/migrationsV1_0__audit_table.sql
- //path/to/my/migrations/V1_1__tables.sql
pgadmin:
image: dpage/pgadmin4
ports:
- 5454:5454/tcp
environment:
- PGADMIN_DEFAULT_EMAIL=admin@mydomain.com
- PGADMIN_DEFAULT_PASSWORD=postgres
- PGADMIN_LISTEN_PORT=5454
然后我$docker检查xxxxxxxx | grep“IPAddress”
它产生输出:
"SecondaryIPAddresses": null,
"IPAddress": "172.17.0.2",
"IPAddress": "172.17.0.2",
docker compose后,我向pgadmin输入值,如下所示:
但是pgadmin给出了一个错误:
无法连接到服务器
超时已过期
这里有什么问题?在您的配置中,PostgreSQL数据库有5432端口(这是默认值)。 你确定在这一行吗
PGADMIN_LISTEN_PORT=5454
试着用
PGADMIN_LISTEN_PORT=5432
要解决此问题,只需使用--user=root运行容器(在docker compose中使用user:root)您需要使用Postgres容器的网关地址。使用
docker inspect xxxxxxxx | grep Gateway
获取它。我猜在您的情况下,将线路更改为PGADMIN\U LISTEN\U PORT=5432时会出现172.17.0.1
相同的错误。