djang不存在postgres的Docker角色

2024-04-25 16:51:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在运行一个docker容器,它从另一个主机获取postgres数据库。你知道吗

看起来我的docker compose文件正在连接到数据库 但当我跑的时候

docker exec -it container python manage.py makemigrationsdocker exec -it container python manage.py createsuperuser 我明白了

2019-09-05 23:25:33.553 UTC [29] FATAL:  password authentication failed for user "postgres_user"
db_1      | 2019-09-05 23:25:33.553 UTC [29] DETAIL:  Role "postgres_user" does not exist.
db_1      |     Connection matched pg_hba.conf line 95: "host all all all md5"
db_1      | 2019-09-05 23:26:27.289 UTC [30] FATAL:  password authentication failed for user "postgres_user"
db_1      | 2019-09-05 23:26:27.289 UTC [30] DETAIL:  Role "postgres_user" does not exist.
db_1      |     Connection matched pg_hba.conf line 95: "host all all all md5"

这是我的docker compose文件的db部分

db:
    image: postgres
    environment:
      - POSTGRES_HOST=host_ip
      - POSTGRES_USER=postgres_user
      - POSTGRES_PASSWORD=bad_password
      - POSTGRES_DB=postgres_database
      - POSTGRES_PORT=5432
    ports:
      - "5434:5432"
    volumes:
      - postgresql-data:/var/lib/postgresql/data
    restart: always

这是我的数据库设置设置.py你知道吗

    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'postgres_database',
        'USER': 'postgres_user',
        'PASSWORD':'bad_password',
        'HOST': 'db',
        'PORT': '5432',
    }
}

运行psql host_db_ip -U postgres_user -W工作正常,我可以连接。我试着删除所有docker图像、容器和系统,然后重建一切。我猜docker密码中有散列问题?你知道吗


Tags: 文件composedockerpy数据库hostdbpostgresql

热门问题