我在docker-compose中运行postgres数据库,配置如下:
database:
image: postgis/postgis
ports:
- "5432:5432"
volumes:
- /var/lib/postgresql/weav_database:/var/lib/postgresql/data/
env_file:
- ./.env/prod.env
下面是env文件:
POSTGRES_NAME=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=password
POSTGERS_DB=database
POSTGERS_PORT=5432
POSTGRES_HOST_AUTH_METHOD=trust
现在,当我试图连接到数据库,obv运行docker-compose后,通过我的ubuntu服务器上的pgAdmin,这是运行docker的同一台机器,我得到了错误。
以下是我用来连接的数据:
Host: database (which is the name of docker-compose service, as you can see)
Password: password
Port: 5432
如果我运行telnet database 5432
,我得到telnet: could not resolve database/5432: Temporary failure in name resolution
telnet localhost 5432
Trying 127.0.0.1...
Unable to connect to remote host
我该如何解决?我的意思是,我如何才能从运行docker本身的服务器连接到docker-compose postgres数据库?
谢谢你
1条答案
按热度按时间xfb7svmp1#
1.使用命令行访问PostgreSQL docker镜像:
docker-compose exec postgres bash
1.运行psql(* 命令行工具,而不是pgAdmin):
psql -U后视图
1.在psql中运行命令列出所有数据库:
\l
1.在psql中使用命令连接到数据库:
\c数据库
如果所有4个步骤都成功-pgAdmin连接配置问题。