Maison > base de données > tutoriel mysql > Comment initialiser une base de données MySQL avec un schéma dans un conteneur Docker ?

Comment initialiser une base de données MySQL avec un schéma dans un conteneur Docker ?

Linda Hamilton
Libérer: 2024-12-25 12:34:09
original
216 Les gens l'ont consulté

How to Initialize a MySQL Database with Schema Inside a Docker Container?

Initialiser une base de données MySQL avec un schéma dans un conteneur Docker

L'initialisation d'une base de données MySQL avec un schéma dans un conteneur Docker peut être difficile. Voici une solution pour résoudre ce problème :

1. Dump MySQL Schema

Dumpez votre schéma MySQL dans un fichier à l'aide de la commande suivante :

mysqldump -h <your_mysql_host> -u <user_name> -p --no-data <schema_name> > schema.sql
Copier après la connexion

2. Ajouter un fichier de schéma au Dockerfile

Dans votre Dockerfile, ajoutez le fichier de schéma au répertoire /docker-entrypoint-initdb.d à l'aide de la commande ADD. Le script docker-entrypoint.sh dans le conteneur exécutera tous les fichiers .sql de ce répertoire sur la base de données.

Exemple de fichier Docker :

FROM mysql:5.7.15

MAINTAINER me

ENV MYSQL_DATABASE=<schema_name> \
    MYSQL_ROOT_PASSWORD=<password>

ADD schema.sql /docker-entrypoint-initdb.d

EXPOSE 3306
Copier après la connexion

3. Construire et exécuter le conteneur Docker

Une fois le fichier Docker modifié, créez et exécutez le conteneur :

docker-compose build
docker-compose up
Copier après la connexion

4. Notes supplémentaires

  • Assurez-vous que l'utilisateur MySQL dispose de privilèges suffisants pour créer la base de données et les tables.
  • Ajustez l'hôte MySQL, le nom d'utilisateur, le mot de passe et le nom de schéma selon vos besoins. .
  • Vérifiez que le script docker-entrypoint.sh est exécutable par l'utilisateur root dans le conteneur, car il est responsable de l'exécution du initialisation du schéma.

En suivant ces étapes, vous pouvez initialiser avec succès une base de données MySQL avec un schéma dans un conteneur Docker et éliminer le problème de la non-exécution correcte du CMD.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal