将气流连接添加到本地主机数据库(在 docker 上运行的 postgres)

时间:2021-07-08 20:45:00

标签: postgresql docker airflow

我有一个在本地运行的 dockerized postgres,我可以通过 pgAdmin4 和 Pen borderPen = new Pen(Color.FromArgb(100, 100, 100), 2); 连接到它。

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

enter image description here

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

<块引用>

损坏的 DAG:[/usr/local/airflow/dags/s3upload.py] 回溯(最近一次通话): 文件“/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 登录证明了这一点。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

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