无法将SQLAlchemy与Docker上的PostgreSQL服务器连接

m4pnthwp  于 2023-05-22  发布在  Docker
关注(0)|答案(1)|浏览(259)

我正在尝试在Docker容器上运行数据库,并将其与我的代码连接。
这是我的连接字符串:

engine = create_engine('postgres+psycopg2://name:password@hostname:port/database_name')

作为host_name,我使用安装Docker容器的Linux的IP地址。我还检查了我机器上的端口是否与Docker容器中的端口相同。端口设置为5101:5101
尝试连接后,显示错误:

sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "IP of machine", port 5101 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?

下面是我使用的Docker命令:

docker run --name rule-creator-dat -e POSTGRES_USER=admin -e POSTGRES_PASSWORD=secret -p 10.10.50.8:5101:5101 -v /data:/var/lib/postgresql/data -d postgres

(IP地址只是我的服务器的例子)
有人知道问题出在哪里吗?

t40tm48m

t40tm48m1#

看起来,当端口Map到docker文件中时,PostgreSQL的docker内部的端口必须是5432。所以Map应该看起来是-p 5101:5432

相关问题