@MishaXXL

Почему не срабатывает выполнение SQL команда при запуске Docker Postgres?

Почему при запуске docker compose up у меня не срабатывает sql скрипт для создания БД?
Как настроить конфиг, чтобы при первом запуске создавалась бд и выполнялись все остальные команды из моего файла setup.sql
А при последующих запусках подтягивались все данные, которые были созданы во время работы от предыдущих запусках?

version: '3.5'

services:
  postgres:
    container_name: postgres_container
    image: postgres
    environment:
      POSTGRES_DB: postgres
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
      PGDATA: /data/postgres
    volumes:
      - .docker/setup.sql:/docker-entrypoint-initdb.d/setup.sql
      - postgres:/data/postgres
    ports:
      - "5400:5432"
    networks:
      - postgres
    restart: unless-stopped

volumes:
    postgres:


65859ed9a4bbd622622758.png

Код в setup.sql
CREATE DATABASE IF NOT EXISTS postgres;
  • Вопрос задан
  • 85 просмотров
Решения вопроса 1
AshBlade
@AshBlade
Просто хочу быть счастливым
Попробуй
./.docker/setup.sql:/docker-entrypoint-initdb.d/setup.sql
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Viji
@Viji
Associate DevOps Engineer
Надо разобраться с entrypoint этого контейнера по умолчанию, возможно там есть команды которые можно использовать для запуска sql скрипта или написать свою entrypoint используя bash и psql, с помощью которого инициализировать базу скормив ему путь к скрипту
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы