我正在做一个项目,我需要在Windows Docker容器中运行Python应用程序。该应用程序连接到我在本地Windows机器上运行的PostgreSQL数据库。我在设置Docker容器和本地数据库之间的连接时遇到了问题。
我的设置:
我有一个Windows Docker容器,我在其中运行我的Python应用程序。我在本地Windows机器上安装并运行PostgreSQL。Python应用程序需要连接到本地PostgreSQL数据库。
我遇到的问题包括:
Error:
Traceback (most recent call last):
File "C:\webapp\app.py", line 15, in <module>
conn = psycopg2.connect(**db_params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python\Lib\site-packages\psycopg2\__init__.py", line 122, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
字符串
连接到服务器“localhost" (127.0.0.1), port 5432 failed: Connection refused
服务器是否在该主机上运行并接受TCP/IP连接?
如何配置Docker容器,使其可以访问我的Windows机器上的本地PostgreSQL数据库。
如何在容器中打开PostgreSQL端口
如何确保PostgreSQL数据库允许来自Docker容器的连接。
如何修改Python应用程序代码以连接到本地PostgreSQL数据库。
我很感激任何关于配置Windows Docker容器、PostgreSQL和我的Python应用程序的指导或最佳实践,以便在此设置中实现成功的数据库连接。
1条答案
按热度按时间fjaof16o1#
我通过匹配python app文件和dockerfile的端口号并使用network作为'nat'来解决上述错误。
谢谢你,谢谢