Sie müssen einen Benutzer über MYSQL_USER
erstellen , MYSQL_PASSWORD
env vars und verwenden Sie das Volume /docker-entrypoint-initdb.d
um das Verzeichnis mit Ihren Startskripten zuzuordnen (.sh
, .sql
, .sql.gz
)
docker run -p 3306:3306 --name mysql-server \
-v ~/Development/web/myproject/docker/mysql:/var/lib/mysql \
-v ~/Development/web/myproject/docker/yourstartupscripts:/docker-entrypoint-initdb.d \
-e MYSQL_ROOT_PASSWORD=root \
-e MYSQL_USER=youruser \
-e MYSQL_PASSWORD=youruserpassword \
-d mysql:latest
Erklärung von:https://hub.docker.com/_/mysql/
MYSQL_USER, MYSQL_PASSWORD
Diese Variablen sind optional und werden zusammen verwendet, um einen neuen Benutzer zu erstellen und das Passwort dieses Benutzers festzulegen. Diesem Benutzer werden Superuser-Berechtigungen (siehe oben) für die durch MYSQL_DATABASE
angegebene Datenbank gewährt Variable. Beide Variablen sind erforderlich, damit ein Benutzer erstellt werden kann.
Initialisieren einer neuen Instanz
Beim ersten Start eines Containers wird eine neue Datenbank mit dem angegebenen Namen erstellt und mit den bereitgestellten Konfigurationsvariablen initialisiert. Außerdem führt es Dateien mit der Erweiterung .sh
aus , .sql
und .sql.gz
die in /docker-entrypoint-initdb.d
zu finden sind . Dateien werden in alphabetischer Reihenfolge ausgeführt. Sie können Ihre MySQL-Dienste ganz einfach mit einen SQL-Dump in dieses Verzeichnis mounten
und stellen Sie benutzerdefinierte Bilder
bereit mit beigesteuerten Daten. SQL-Dateien werden standardmäßig in die durch MYSQL_DATABASE
angegebene Datenbank importiert Variable.