我有一个问题连接到我的postgres。它在我的Docker中正常运行,但我无法通过Python连接到该容器。此外,我没有收到错误消息。“E”是空的。你知道为什么它不工作吗?容器在我的机器上本地运行。
import psycopg2
try:
conn = psycopg2.connect(
host="localhost",
database="my_database",
user="postgres",
password="postgres"
)
print("Verbindung zur PostgreSQL-Datenbank erfolgreich hergestellt.")
except Exception as e:
print("Exception")
print(e)
conn = None
YML:
version: '3.7'
services:
postgres:
image: postgres
container_name: my_postgres_container
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: my_database
ports:
- "5432:5432"
2条答案
按热度按时间snvhrwxg1#
因为你的程序不是在同一个容器中运行的,所以你必须使用容器名来连接:
pod7payv2#
我尝试了一个不同的端口,突然它是工作.