Miałem ten sam problem, w którym chciałem zainicjować schemat mojej instancji MySQL Docker, ale napotkałem trudności z uruchomieniem tego po wykonaniu niektórych Googling i podążaniu za przykładami innych. Oto jak to rozwiązałem.
1) Zrzuć schemat MySQL do pliku.
mysqldump -h <your_mysql_host> -u <user_name> -p --no-data <schema_name> > schema.sql
2) Użyj polecenia ADD, aby dodać plik schematu do /docker-entrypoint-initdb.d
katalogu w kontenerze Docker. docker-entrypoint.sh
file uruchomi wszystkie pliki w tym katalogu, kończące się na ".sql"
względem bazy danych MySQL.
Plik 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) Uruchom instancję Docker MySQL.
docker-compose build
docker-compose up
Dzięki Skonfigurowaniu MySQL i zaimportowaniu zrzutu w Plik Dockera za wprowadzenie mnie w docker-entrypoint.sh oraz za to, że uruchamia on zarówno skrypty SQL, jak i powłoki!