【问题标题】:add an airflow connection to a localhost database (postgres running on docker)向 localhost 数据库添加气流连接(在 docker 上运行的 postgres)
【发布时间】:2021-09-19 07:43:57
【问题描述】:

我有一个在本地运行的 dockerized postgres,我可以通过 pgAdmin4 和psql 连接到它。

使用相同的连接细节,我在 UI 上设置了气流连接

但是,当尝试加载使用该连接的 DAG 时,会引发错误:

Broken DAG:[/usr/local/airflow/dags/s3upload.py] Traceback(最近一次调用最后一次): 文件“/usr/local/lib/python3.7/site-packages/airflow/providers/postgres/hooks/postgres.py”,第 113 行,在 get_conn self.conn = psycopg2.connect(**conn_args) 文件“/usr/local/lib/python3.7/site-packages/psycopg2/init.py”,第 127 行,在连接中 conn = _connect(dsn,connection_factory=connection_factory,**kwasync) psycopg2.OperationalError:无法连接到服务器:连接被拒绝 服务器是否在主机“127.0.0.1”上运行并接受 端口 54320 上的 TCP/IP 连接?

如前所述,postgres 实例正在运行,端口转发处于活动状态,成功的 pgAdmin 和 psql 登录证明了这一点。

有什么想法吗?

【问题讨论】:

  • 气流是否在另一个 docker 容器中运行?
  • 是的!没想到……你知道在这种情况下如何正确定义主机吗?
  • 是的,刚刚回答

标签: postgresql docker airflow


【解决方案1】:

使用host.docker.internal,它将指向您的本地主机而不是容器本地主机,如果pg端口映射到您的5432端口,它将起作用。

【讨论】:

    猜你喜欢
    • 2021-02-11
    • 2021-09-11
    • 1970-01-01
    • 1970-01-01
    • 2021-04-29
    • 1970-01-01
    • 2019-08-15
    • 2023-04-02
    • 2021-12-11
    相关资源
    最近更新 更多