Имах същия проблем, когато исках да инициализирам схемата на моя MySQL Docker екземпляр, но се сблъсках с трудности да накарам това да работи, след като направих малко търсене в Google и следвайки примери на други. Ето как го реших.
1) Изсипете вашата MySQL схема във файл.
mysqldump -h <your_mysql_host> -u <user_name> -p --no-data <schema_name> > schema.sql
2) Използвайте командата ADD, за да добавите вашия файл със схема към /docker-entrypoint-initdb.d
директория в контейнера на Docker. docker-entrypoint.sh
файл ще стартира всички файлове в тази директория, завършващи с ".sql"
срещу базата данни MySQL.
Dockerfile:
FROM mysql:5.7.15
MAINTAINER me
ENV MYSQL_DATABASE=<schema_name> \
MYSQL_ROOT_PASSWORD=<password>
ADD schema.sql /docker-entrypoint-initdb.d
EXPOSE 3306
3) Стартирайте екземпляра на Docker MySQL.
docker-compose build
docker-compose up
Благодарение на Настройване на MySQL и импортиране на дъмп в Dockerfile за това, че ме насочихте към docker-entrypoint.sh и факта, че изпълнява както SQL, така и шел скриптове!