Ошибка аутентификации пароля + Docker + Django - PullRequest
0 голосов
/ 02 марта 2020

Я не первый раз использую Docker, но, очевидно, я делаю что-то не так с моей настройкой, которую не могу понять.

Вот мой docker -compose.yml

version: "3.1"
services:
   db:
     image: postgres:9.6.9-alpine
     environment:
         POSTGRES_USER: rentalapp
         POSTGRES_PASSWORD: rentalapp
         POSTGRES_DB: rentalapp
     ports:
        - "5432:5432"
     volumes:
        - pgdata:/var/lib/postgresql/data
volumes:
  pgdata:

А вот мой local.py

DATABASES = {
    "default": {
       "ENGINE": "django.db.backends.postgresql",
       "USER": "rentalapp",
       "PASSWORD": "rentalapp",
       "PORT": 5432,
       "NAME": "rentalapp",
       "HOST": "localhost",
       "ATOMIC_REQUESTS": True,
 }
}

Traceback:

django.db.utils.OperationalError: FATAL:  password authentication failed for user "rentalapp"

Ответы [ 2 ]

0 голосов
/ 02 марта 2020

Я подумал, что у меня есть еще один docker том и контейнер работает.

Я решил решить эту проблему, удалив все контейнеры и тома, используя this

0 голосов
/ 02 марта 2020

Я предполагаю, что эта ошибка связана с томом (bind mount dir).

Возможно, потому, что том (или каталог подключения bind) уже инициализирован после вашего первого запуска , Пользователь postgres, и создание базы данных происходит только при первом запуске (ie, / var / lib / postgresql / data не должен уже содержать файлы базы данных). Попробуйте запустить:

docker-compose rm -fv postgres, чтобы удалить все контейнеры или тома (в частности).

docker-compose up -d, чтобы запустить ваш контейнер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...