将 pgadmin 容器连接到 postgres 容器

问题描述 投票:0回答:1

我使用下面的 docker compose 文件创建了 2 个容器 [pgadmin4 、 postgres ]。

services:
  db:
    container_name: db
    image: postgres
    environment:
      POSTGRES_USER: ashish
      POSTGRES_PASSWORD: ashish
      PGDATA: /data/postgres
      POSTGRESS_DB: jobapp
    ports:
      - "5432:5432"
    networks:
      - postgres
    restart: always
  pgadmin:
    container_name: pgadmin4
    image: dpage/pgadmin4
    environment:
      PGADMIN_DEFAULT_EMAIL: [email protected]
      PGADMIN_DEFAULT_PASSWORD: root
    ports:
      - "5050:80"  
    networks:
      - postgres
    restart: always

networks:
  postgres:
      name: postgres
      driver: bridge
      
  1. 对于这两个容器,我使用相同的桥接网络,即 postgres。
  2. 我检查了如下 ping 状态以确保通信正常。

我通过 localhost:5050 登录 pgadmin4。 然后我尝试使用撰写文件中传递的凭据创建服务器。这里的地址作为网络名称传递,即“postgres”

使用上述值,会出现错误,因为名称不被喜爱。 然后我也尝试将地址设置为“localhost”和“0.0.0.0”,但仍然失败,并显示错误消息,因为连接被拒绝。

NETWORK ID     NAME         DRIVER    SCOPE
1d1c44a0b064   bridge       bridge    local
0e0a1145cf91   host         host      local
06fa74116375   my-network   bridge    local
7e93df1725d9   none         null      local
2a74ae7944da   postgres     bridge    local

以上是docker network ls的响应。

来自 db 容器的 cat /data/postgres/pg_hba.conf 生成下表。

提前感谢您抽出宝贵的时间。非常感谢任何关注。

postgresql docker pgadmin-4
1个回答
0
投票

谢谢@larsks 在主机名/地址字段中使用“db”时我可以登录

© www.soinside.com 2019 - 2024. All rights reserved.