从 Docker 连接到 PostgresSQL 时出现问题

问题描述 投票:0回答:1

课堂样本:

try:
        conn = psycopg2.connect(
            database='ytbstats',
            host='0.0.0.0',
            user='admin',
            password='admin',
            port='5432'
        )
    except psycopg2.Error as e:
        print(e)
    
cursor = conn.cursor()
engine = sqlalchemy.create_engine('postgresql://admin:admin@localhost:5432/ytbstats')
df_videos_details.to_sql('testtable', engine, if_exists='replace', index=False)

Docker 文件(docker-compose.yaml):

services:
  db:
    image: postgres
    ports:
      - 5432:5432
    restart: always
    environment:
      POSTGRES_USER: admin
      POSTGRES_PASSWORD: admin123
      POSTGRES_DB: ytbstatsdb
  adminer:
    image: adminer
    restart: always
    depends_on:
      - db
    ports:
      - 8080:8080

我的错误:

connection to server at "0.0.0.0", port 5432 failed: Cannot assign requested address (0x00002741/10049)
    Is the server running on that host and accepting TCP/IP connections?

docker中的db已创建: docker-image

你好!

我正在尝试使用 docker 连接到数据库。访问 http://localhost:8080 正常,我可以登录到 Adminer 并在 Adminer 界面上使用我的数据库,但是当我尝试使用 psycopg2 类中的代码进行连接时,我收到指定的错误。

你知道我为什么会得到它吗?

我重新启动电脑以清除所有服务并将其重置为必要的服务,将端口更改为7432等等。没有任何作用...

python postgresql docker psycopg2
1个回答
0
投票

您不应该使用“0.0.0.0”作为源地址,该地址仅由服务绑定使用。

© www.soinside.com 2019 - 2024. All rights reserved.