Ich versuche, mehrere Datenbanken zu erstellen, wenn ein MySQL-Container gestartet wird. Nach https://github.com/docker-library/mysql/pull/18 kann ich meine Skripte in der /docker-entrypoint-initdb.d
des Bildes mounten oder kopieren und sie werden beim Start automatisch ausgeführt.MySQL-Skripte in docker-entrypoint-initdb werden nicht ausgeführt
Allerdings sind meine Skripte überhaupt nicht ausgeführt. Scheint wie die docker-entrypoint.sh
Dateien im /docker-entrypoint-initdb.d
Verzeichnis nicht zu sehen.
Das ist mein Dockerfile:
FROM mysql
ADD script.sql /docker-entrypoint-initdb.d/script.sql
RUN chmod -R 775 /docker-entrypoint-initdb.d
ENV MYSQL_ROOT_PASSWORD mypass
Dies ist mein script.sql
:
CREATE DATABASE mydb;
CREATE DATABASE mydb2;
ich bauen und den Behälter laufen:
$ docker build -t mysql .
$ docker run -v data_volume:/var/lib/mysql --name somedb -d mysql
Wenn ich den Behälter in tty ich zugreifen kann sehen, dass die script.sql
in der /docker-entrypoint-initdb.d
aber ist wird nicht ausgeführt.
Ich habe die docker logs -f somedb
Ausgabe gesehen, aber es gibt keinen Fehler.
Ich habe mit .sh
Datei versucht, ich habe auch mit Maria-db versucht, das Ergebnis ist das gleiche.
Was könnte das Problem sein?
Diese Konfiguration hat das Problem nicht gelöst. Ich habe überprüft, dass die Datei ausführbar ist. Ich vermute, das Problem liegt in der Datenmenge. Ich arbeite weiter daran danke. –