Jeg havde det samme problem, hvor jeg ønskede at initialisere min MySQL Docker-instans' skema, men jeg løb ind i problemer med at få dette til at virke efter at have googlet og fulgt andres eksempler. Sådan løste jeg det.
1) Dump dit MySQL-skema til en fil.
mysqldump -h <your_mysql_host> -u <user_name> -p --no-data <schema_name> > schema.sql
2) Brug ADD-kommandoen til at tilføje din skemafil til /docker-entrypoint-initdb.d
mappe i Docker-beholderen. docker-entrypoint.sh
fil vil køre alle filer i denne mappe, der ender med ".sql"
mod 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) Start Docker MySQL-instansen.
docker-compose build
docker-compose up
Takket være Opsætning af MySQL og import af dump inden for Dockerfile for at lede mig ind på docker-entrypoint.sh og det faktum, at det kører både SQL- og shell-scripts!