Eu tive esse mesmo problema em que queria inicializar o esquema da minha instância do MySQL Docker, mas tive dificuldade em fazer isso funcionar depois de fazer algumas pesquisas no Google e seguir os exemplos de outras pessoas. Aqui está como eu resolvi.
1) Despeje seu esquema MySQL em um arquivo.
mysqldump -h <your_mysql_host> -u <user_name> -p --no-data <schema_name> > schema.sql
2) Use o comando ADD para adicionar seu arquivo de esquema ao
/docker-entrypoint-initdb.d
diretório no contêiner do Docker. O docker-entrypoint.sh
file irá executar quaisquer arquivos neste diretório que terminem com ".sql"
contra o banco de dados 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) Inicie a instância do Docker MySQL.
docker-compose build
docker-compose up
Graças a Configurar o MySQL e importar o dump dentro Dockerfile por me informar sobre o docker-entrypoint.sh e o fato de que ele executa scripts SQL e shell!