Ошибка с докером - PullRequest
       2

Ошибка с докером

0 голосов
/ 05 июня 2018

Я создал файл Docker, который выглядит следующим образом

db:
image: postgres:10.3
ports:
  - "5432:5432"
environment:
  POSTGRES_DB: test
  POSTGRES_USER: test
  POSTGRES_PASSWORD: changeme
restart: always
volumes:
  - ./srv/postgres:/var/lib/postgresql/data
  - ./init/:/docker-entrypoint-initdb.d/

У меня есть сценарий sql в пути ./init, в котором есть команды sql для создания базы данных и пользователя.Я вижу файл sql, созданный в контейнере postgres, но почему-то он не выполняется.Я следил за документацией на концентратор докеров.Я не уверен, что здесь не так?

1 Ответ

0 голосов
/ 05 июня 2018

Я тоже это испытал.Проблема в том, что сценарии внутри /docker-entrypoint-initdb.d/ будут выполняться только в том случае, если база данных еще не была инициализирована.

Если вы остановите контейнер, удалите содержимое ./srv/postgres/, а затем заново создайте контейнер, в котором будут выполняться ваши сценарии *.sql внутри ./init.

Однако выполнение этого приведет кданные, которые будут потеряны.

См. здесь для получения дополнительной информации.

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