将Airflow连接添加到本地数据库(在Docker上运行的Postgres)。

3

我在本地运行了一个Docker化的PostgreSQL,可以通过pgAdmin4和psql连接到它。

使用相同的连接细节,在UI上设置了一个Airflow连接。

enter image description here

然而,当尝试加载使用该连接的DAG时,会抛出错误:

Broken DAG: [/usr/local/airflow/dags/s3upload.py] Traceback (most recent call last): File "/usr/local/lib/python3.7/site-packages/airflow/providers/postgres/hooks/postgres.py", line 113, in get_conn self.conn = psycopg2.connect(**conn_args) File "/usr/local/lib/python3.7/site-packages/psycopg2/init.py", line 127, in connect conn = _connect(dsn, connection_factory=connection_factory, **kwasync) psycopg2.OperationalError: could not connect to server: Connection refused Is the server running on host "127.0.0.1" and accepting TCP/IP connections on port 54320?

如上所述,PostgreSQL实例正在运行,并且端口转发处于活动状态,这已通过成功的pgAdmin和psql登录证明。

有任何想法吗?


1
空气流动在另一个Docker容器中运行吗? - undefined
是的!没想到那个……你知道在这种情况下如何正确定义主机吗? - undefined
是的,刚回答了。 - undefined
1个回答

9
使用host.docker.internal,该地址将指向本地主机而不是容器本地主机。如果pg端口映射到你的5432端口上,则可以正常工作。

或者您也可以将'postgres'作为主机输入 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接