在docker-compose中连接到PostgreSQL

xxls0lw8  于 2023-04-29  发布在  PostgreSQL
关注(0)|答案(1)|浏览(273)

我在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数据库?
谢谢你

xfb7svmp

xfb7svmp1#

1.使用命令行访问PostgreSQL docker镜像:
docker-compose exec postgres bash
1.运行psql(* 命令行工具,而不是pgAdmin):
psql -U后视图
1.在psql中运行命令列出所有数据库:
\l
1.在psql中使用命令连接到数据库:
\c数据库
如果所有4个步骤都成功-pgAdmin连接配置问题。

相关问题