DieZz
@DieZz

Как создать базу данных из дампа во время построения контейнера?

Доброго времени суток.
Столкнулся с проблемой, что не могу создать БД и импортировать в нее данные из дампа.
Вот Dockerfile
FROM mysql:5.7

ARG MYSQL_DATABASE
ARG MYSQL_USER
ARG MYSQL_PASSWORD
ARG MYSQL_ROOT_PASSWORD

# Create Database
RUN	mkdir /usr/sql
RUN	chmod 644 /usr/sql

COPY dump.sql /usr/sql/dump.sql

COPY mysql.cnf /etc/mysql/conf.d/mysql.cnf

#Create database
RUN /etc/init.d/mysql start && \
    sleep 5 && \
    mysql -u root -p${MYSQL_ROOT_PASSWORD} -e "CREATE DATABASE ${MYSQL_DATABASE}" && \
    mysql -u root -p${MYSQL_ROOT_PASSWORD} -e "CREATE USER '${MYSQL_USER}'@'localhost' IDENTIFIED BY '${MYSQL_PASSWORD}'" && \
    mysql -u root -p${MYSQL_ROOT_PASSWORD} -e "GRANT ALL PRIVILEGES ON * . * TO '${MYSQL_USER}'@'localhost';" && \
    mysql -u root -p${MYSQL_ROOT_PASSWORD} -e "FLUSH PRIVILEGES" && \
    mysql -u root -p${MYSQL_ROOT_PASSWORD} ${MYSQL_DATABASE} <  /usr/sql/dump.sql

База создается но она пустая, т.е. нет ни таблиц не данных. Если потом с помощью exec подлить дамп, то все работает. Подскажите в чем может быть проблема?
  • Вопрос задан
  • 305 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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