docker pgAdmin4 连接在连接本地 postgres 数据库时被拒绝

Jay*_*tel 10 postgresql ubuntu docker docker-compose pgadmin-4

我正在尝试使用 pgAdmin4 docker 容器连接我的本地 postgres 数据库。当我http://localhost:5050/在创建新的服务器连接后打开并登录时,我收到Unable to connect to server: could not connect to server: Connection refused错误消息。

这是我的docker-compose.yml文件

version: '3.5'

services:
  pgadmin:
    container_name: pgadmin4
    image: dpage/pgadmin4
    environment:
      PGADMIN_DEFAULT_EMAIL: db@db.com
      PGADMIN_DEFAULT_PASSWORD: odoo
    volumes:
       - pgadmin:/root/.pgadmin
    ports:
      - "5050:80"
    restart: unless-stopped

volumes:
    pgadmin:
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我正在寻找将本地 postgres 数据库与 pgadmin4 docker 容器连接的解决方案。我正在使用Ubuntu 20.04操作系统。

---- 根据@Veikko 的回答更新 -----------

这是我的 docker-compose 文件代码https://pastebin.com/VmhZwtaL

这是postgresql.conf文件https://pastebin.com/R7ifFrGR

pg_hba.conf文件https://pastebin.com/yC2zCfBG

Vei*_*kko 5

您可以使用 dns name 从 docker 容器访问您的主机host.docker.internal。将您的服务器连接替换localhost为该名称。pgAdmin 中的名称localhost指的是 docker 容器本身,而不是您的主机。