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.