Postgres внутри докера; перезагружать базу данных / скрипт инициализации каждый раз при запуске контейнера - PullRequest
0 голосов
/ 16 января 2020

Следуя официальному postgres docker изображению , вы можете настроить точку входа, в которую будете помещать свои сценарии инициализации.

Это прекрасно работает. Для разработки / тестирования мне нужна чистая база данных при каждом запуске контейнера, а не только при первом.
Все скрипты внутри docker-entrypoint-initdb.d запускаются только один раз (первый время запуска контейнера).
Есть ли простой способ выполнить скрипт каждый раз, когда контейнер запускается через docker-compose?
Я ставлю DROP TABLE IF EXISTS перед каждым CREATE TABLE, поэтому .sql скрипт будет работать даже при новом запуске.

Соответствующая часть docker -композиции, если кому-то это нужно:

postgres-myname:
    image: postgres:12.1-alpine
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
      - POSTGRES_DB=postgres-db
    ports:
      - "54320:5432"
    build:
      context: .
      dockerfile: postgresql-config/Dockerfile
    networks:
      - my-network
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...