小编Abh*_*nyu的帖子

Docker的postgres容器的密码验证失败

我正在尝试对我的Django项目进行docker化。为此,我试图将整个项目分为两个部分

  • 整个网络在一个容器中关联事物。
  • 数据库,即另一个Postgres

我正在使用以下命令创建Postgres数据库容器:

docker run --name postgres -it -e POSTGRES_USER=username -e POSTGRES_PASSWORD=mysecretpassword postgres
Run Code Online (Sandbox Code Playgroud)

当这个postgres实例开始运行时,我使用以下命令输入了shell postgres实例:

docker exec -it postgres /bin/bash
root@ae052fbce400:/# psql -U psql
Run Code Online (Sandbox Code Playgroud)

在我得到的Psql Shell中,我正在创建数据库,DBNAME并授予它所有特权username

webapp容器内的数据库设置为:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'DBNAME',
        'USER': 'username',
        'PASSWORD': 'mysecretpassword',
        'HOST': 'postgres',
        'PORT': 5432
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的docker-compose.yml文件

services:
    web:
        image: 1ce04167758d  #image build of webapp container
        command: python manage.py runserver
        volumes:
            - .:/code
        ports:
            - "8000:8000"
        depends_on:
            - postgres
    postgres:
        image: postgres
        env_file:
            - .env …
Run Code Online (Sandbox Code Playgroud)

database django postgresql docker

7
推荐指数
2
解决办法
2657
查看次数

标签 统计

database ×1

django ×1

docker ×1

postgresql ×1