Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie füge ich einem MySQL-Docker-Container ein Startskript hinzu?

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.