Ho riscontrato lo stesso problema in cui volevo inizializzare lo schema della mia istanza MySQL Docker, ma ho riscontrato difficoltà a farlo funzionare dopo aver eseguito alcuni googling e aver seguito gli esempi di altri. Ecco come ho risolto.
1) Scarica lo schema MySQL in un file.
mysqldump -h <your_mysql_host> -u <user_name> -p --no-data <schema_name> > schema.sql
2) Usa il comando ADD per aggiungere il tuo file schema a /docker-entrypoint-initdb.d
directory nel contenitore Docker. Il docker-entrypoint.sh
file eseguirà tutti i file in questa directory che terminano con ".sql"
contro il database MySQL.
File Docker:
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) Avvia l'istanza Docker MySQL.
docker-compose build
docker-compose up
Grazie a Configurazione di MySQL e importazione di dump all'interno File Docker per avermi informato su docker-entrypoint.sh e sul fatto che esegue sia script SQL che shell!