【发布时间】:2016-04-27 02:14:03
【问题描述】:
我使用以下命令创建了一个运行 Postgres 的 Docker 映像:
docker pull postgres
docker run --name test-db -e POSTGRES_PASSWORD=my_secret_password -d postgres
然后我创建了一个名为 test 的表并将一些随机数据插入到几行中。
我现在正试图在我的本地机器上通过 Python 中的 psycopg2 连接到这个数据库表。
我使用命令docker-machine ip default 找出机器的IP 地址为192.168.99.100,并使用以下命令尝试连接:
conn = psycopg2.connect("dbname='test-db' user='postgres' host='192.168.99.100' password='my_secret_password' port='5432'")
这不适用于“OperationalError:无法连接到服务器:连接被拒绝(0x0000274D/10061)”的错误消息
。 .
一切似乎都井井有条,所以我想不出为什么会被拒绝。 根据此 postgres 图像的文档,(https://hub.docker.com/_/postgres/)此图像包括 EXPOSE 5432(postgres 端口),默认用户名是 postgres。
我还尝试使用我在 SA 上找到的一篇稍微相关的文章中的 docker inspect test-db | grep IPAddress | awk 'print{$2}' | tr -d '",' 获取图像本身的 IP 地址,但该 IP 地址也不起作用。
【问题讨论】:
-
您是否尝试过连接其他客户端,例如
psql?
标签: python postgresql docker psycopg2