@why7

Почему не создается пользователь и база данных для postgresql в docker контейнере?

Хочу развернуть среду для разработки на docker контейнерах.
Один из контейнеров это postgresql, со следующей конфигурацией в docker-compose.yml
version: '2'
services:
  postgresql:
    image: postgres:9.6
    ports:
      - '5432:5432'
    volumes:
      - /home/username/pgdata:/var/lib/postgresql/data
    container_name: postgresql
    environment:
      POSTGRES_DB: testdb
      POSTGRES_USER: admin
      POSTGRES_PASSWORD: password


Далее запускаю контейнеры, захожу в контейнер с postgresql и пытаюсь соединиться с базой

psql -h localhost -p 5432 -U admin -d testdb -W

После ввода указанного пароля в docker-compose.yml, получаю ответ:
psql: FATAL: role "admin" does not exist

Что я делаю не так и где я затупил?
P.S. Переменные среды в контейнер проброшены успешно

UPD: Проблема решается если для каждого контейнера с базой указывать разные volume
Т.е. если есть два контейнера с базой, то volume можно указывать так:
1-й контейнер:
volumes:
      - /home/username/pgdata/dbfirst:/var/lib/postgresql/data

2-й контейнер:
volumes:
      - /home/username/pgdata/dbsecond:/var/lib/postgresql/data
  • Вопрос задан
  • 1984 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы