База и пользователь в Docker
База и пользователь задаются переменными окружения и создаются только при пустом каталоге данных.
POSTGRES_DB
задаёт имя базы,
POSTGRES_USER -
имя суперпользователя кластера.
Пароль старта по-прежнему
обязателен.
Сервис db на postgres:18
получает пароль demo,
базу app
и пользователя app:
services:
db:
image: postgres:18
environment:
POSTGRES_PASSWORD: demo
POSTGRES_DB: app
POSTGRES_USER: app
Фоновый подъём проекта выполняют так:
docker compose up -d
Проверка идёт под пользователем
app
с выбором базы app.
Новые имена срабатывают только
на пустом хранилище:
docker compose exec db psql -U app -d app -c "SELECT current_database()"
Задайте базу shop и пользователя shop с учебным паролем при первом старте на пустом томе.
Проверьте внутри сервиса, что текущая база совпадает с именем shop.