无法连接到 Docker 中的 Postgresql

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

我正在使用这个创建一个 Docker 容器

docker-composer.yml
:

  postgres:
    image: postgres:latest
    container_name: postgres
    ports:
      - "5432:5432"
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB: voting
    healthcheck:
      test: [ "CMD", "pg_isready", "-U", "postgres" ]
      interval: 10s
      timeout: 5s
      retries: 5

当我尝试连接到 postgresql 时:

import psycopg2

conn = psycopg2.connect("host=localhost port=5432 dbname=voting user=postgres 
password=postgres")

我收到此错误:

psycopg2.OperationalError:连接到“localhost”(::1) 处的服务器,端口 5432 失败:
致命:用户“postgres”的密码身份验证失败

我可以从 Docker 连接到数据库:

postgresql docker docker-compose
1个回答
0
投票

问题是由pg_hba.conf引起的,数据库使用的方法应该是trust或md5,在目录(C:\Program Files\PostgreSQL\data)

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