контейнерирование приложения django, построенного с помощью pydanny cookiecutter для развертывания в экземпляре EC2. docker_compose.yml довольно straigtforward:не может аутентифицировать пользователя в postgres docker container
version: '2'
volumes:
postgres_data: {}
postgres_backup: {}
services:
postgres:
build: ./compose/postgres
volumes:
- postgres_data:/var/lib/postgresql/data
- postgres_backup:/backups
env_file: .env
....
ничего экзотического в dockefile; просто указатели для резервного копирования и восстановления сценарии и команды, чтобы сделать их исполняемым:
FROM postgres:9.4
# add backup scripts
ADD backup.sh /usr/local/bin/backup
ADD restore.sh /usr/local/bin/restore
ADD list-backups.sh /usr/local/bin/list-backups
# make them executable
RUN chmod +x /usr/local/bin/restore
RUN chmod +x /usr/local/bin/list-backups
RUN chmod +x /usr/local/bin/backup
Я попытался несколько вариаций на моих дб ENV переменных, последняя из которых выглядит как:
# PostgreSQL
POSTGRES_PASSWORD='postgrespass'
POSTGRES_USER='postgres'
контейнер строит и инициализирует без проблем на:
docker-compose build postgres
docker-compose up -d
, но когда я пытаюсь сделать и перенести исходные данные в БД с:
docker-compose run django /usr/local/bin/python manage.py makemigrations
БД не отвечает - «Postgres недоступна - спит» и Докер журналы DB возвращается:
DETAIL: Connection matched pg_hba.conf line 95: "host all all all md5"
FATAL: password authentication failed for user "'postgres'"
, очевидно, у меня есть некоторые проблемы разрешения, но я не совсем уверен, как обратиться к ним. Мои контейнеры работают на Ubuntu 16.04 AMI.
Вы хотите должны получить удаленный экземпляр с чем-то вроде «psql -h 68.152.13.25 -p 5432 -U postgres --password», проблема в том, что вы просто генерируете ту же ошибку аутентификации. – kjarsenal
Для пароля меньше логин: sudo -u имя_пользователя psql имя_базы @kjarsenal – amrit