Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment ajouter un script de démarrage à un conteneur mysql docker ?

Vous devez créer un utilisateur via MYSQL_USER , MYSQL_PASSWORD env vars et utilisez le volume /docker-entrypoint-initdb.d pour mapper le répertoire avec vos scripts de démarrage (.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

Explication de :https://hub.docker.com/_/mysql/

MYSQL_USER, MYSQL_PASSWORD
Ces variables sont facultatives, utilisées conjointement pour créer un nouvel utilisateur et définir le mot de passe de cet utilisateur. Cet utilisateur recevra des autorisations de superutilisateur (voir ci-dessus) pour la base de données spécifiée par MYSQL_DATABASE variable. Les deux variables sont requises pour qu'un utilisateur soit créé.

Initialisation d'une nouvelle instance
Lorsqu'un conteneur est démarré pour la première fois, une nouvelle base de données avec le nom spécifié sera créée et initialisée avec les variables de configuration fournies. De plus, il exécutera les fichiers avec les extensions .sh , .sql et .sql.gz qui se trouvent dans /docker-entrypoint-initdb.d . Les fichiers seront exécutés par ordre alphabétique. Vous pouvez facilement remplir vos services mysql par monter un vidage SQL dans ce répertoire et fournissez des images personnalisées avec des données fournies. Les fichiers SQL seront importés par défaut dans la base de données spécifiée par le MYSQL_DATABASE variables.