从外部连接 docker postgres (DBeaver)

san*_*eep 13 postgresql dbeaver docker airflow

我通过 Docker-compose 使用 Airflow。同一个 docker-compose.yml 也有 Postgres 的镜像。配置如下所示 -

  postgres:
    image: postgres:13
    ports:
      - 5432:5432
    environment:
      POSTGRES_USER: airflow
      POSTGRES_PASSWORD: airflow
      POSTGRES_DB: airflow
    volumes:
      - postgres-db-volume:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD", "pg_isready", "-U", "airflow"]
      interval: 5s
      retries: 5
    restart: always
Run Code Online (Sandbox Code Playgroud)

这对于 Airflow 来说效果很好,我还可以在 UI 上访问 DAG。

但我想从外部 SQL 客户端应用程序(如Dbeaver)访问 dockerized Postgres 实例。但我无法做到这一点。

IP地址

Postgres 设置

有人可以帮我解决这个问题吗?

注意:我已经在本地运行了一个单独的 Postgres 实例。

A.Y*_*ono 10

您应该输入“localhost”而不是“172.25.0.2”,并使用 .确保系统中没有已使用的端口“5432” lsof -i:5432 | grep 'LISTEN'

我更喜欢使用另一个端口。请参阅下面的屏幕截图

在此输入图像描述


Pro*_*gue 5

经过多次尝试,正如@Jashwant提到的,该端口(5432)被占用。请注意,该端口可能不会在lsof -i -P命令中显示。

所以我使用了另一个端口,而不是5432:5432,我使用了6543:5432它解决了问题。