Я пишу файл docker-compose для запуска некоторых сервисов. Но служба БД создает проблемы, я всегда получаю эту ошибку:
FATAL: password authentication failed for user "postgres"
DETAIL: Password does not match for user "postgres".
Connection matched pg_hba.conf line 95: "host all all all md5"
Я прочитал много тем и правильно установил POSTGRES_USER и POSTGRES_PASSWORD. Я также удалил предыдущие тома и контейнер, чтобы заставить postgresql повторно инициализировать пароль. Но я не могу понять, почему он все еще не работает.
Так что же является правильным способом для принудительной повторной инициализации изображения postgresql. Так что я смогу подключиться к своей базе данных.
Я видел эту ошибку: Connection matched pg_hba.conf line 95: "host all all all md5"
, и я слышал о файле conf postgres. Но это официальный контейнер, который должен работать, не так ли?
version: '3'
services:
poll:
build: poll
container_name: "poll"
ports:
- "5000:80"
networks:
- poll-tier
environment:
- REDIS_HOST=redis
depends_on:
- redis
worker:
build: worker
container_name: "worker"
networks:
- back-tier
environment:
- REDIS_HOST=redis
- POSTGRES_HOST=db
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=root
depends_on:
- redis
- db
redis:
image: "redis:alpine"
container_name: "redis"
networks:
- poll-tier
- back-tier
result:
build: result
container_name: "result"
ports:
- "5001:80"
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=root
- POSTGRES_HOST=db
- RESULT_PORT=80
networks:
- result-tier
depends_on:
- db
db:
image: "postgres:alpine"
container_name: "db"
restart: always
networks:
- back-tier
- result-tier
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=root
- POSTGRES_DB=postgres
volumes:
db-data:
driver: local
networks:
poll-tier: {}
back-tier: {}
result-tier: {}
От меня ожидают подключения БД, а не password authentication failed for user "postgres"
.