Měl jsem stejný problém, kdy jsem chtěl inicializovat schéma instance MySQL Docker, ale po nějakém googlování a následování příkladů ostatních jsem narazil na potíže s jeho zprovozněním. Zde je návod, jak jsem to vyřešil.
1) Uložte si schéma MySQL do souboru.
mysqldump -h <your_mysql_host> -u <user_name> -p --no-data <schema_name> > schema.sql
2) Pomocí příkazu ADD přidejte svůj soubor schématu do /docker-entrypoint-initdb.d
adresář v kontejneru Docker. Soubor docker-entrypoint.sh
soubor spustí všechny soubory v tomto adresáři končící na ".sql"
proti databázi 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) Spusťte instanci Docker MySQL.
docker-compose build
docker-compose up
Díky nastavení MySQL a importu výpisu Dockerfile za to, že jste mi napověděli docker-entrypoint.sh a skutečnost, že spouští skripty SQL i shell!