Jag hade samma problem där jag ville initiera min MySQL Docker-instanss schema, men jag stötte på svårigheter att få detta att fungera efter att ha googlat och följt andras exempel. Så här löste jag det.
1) Dumpa ditt MySQL-schema till en fil.
mysqldump -h <your_mysql_host> -u <user_name> -p --no-data <schema_name> > schema.sql
2) Använd kommandot ADD för att lägga till din schemafil till /docker-entrypoint-initdb.d
katalogen i Docker-behållaren. docker-entrypoint.sh
filen kommer att köra alla filer i den här katalogen som slutar med ".sql"
mot MySQL-databasen.
Dockerfil:
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) Starta Docker MySQL-instansen.
docker-compose build
docker-compose up
Tack vare att konfigurerar MySQL och importerar dump inom Dockerfile för att du har tipsat mig om docker-entrypoint.sh och det faktum att den kör både SQL- och skalskript!