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

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

Patricia Arquette
Patricia Arquetteoriginal
2025-01-05 08:26:47643parcourir

How to Initialize a MySQL Database with a Schema in Docker?

Initialisation de la base de données MySQL avec un schéma dans Docker

Lorsque vous essayez de créer un conteneur Docker avec une base de données MySQL et d'ajouter un schéma, vous pouvez rencontrer défis liés à l’exécution réussie des commandes souhaitées. Voici une solution complète pour résoudre ce problème :

  1. Dump MySQL Schema to File : Exécutez la commande suivante pour exporter votre schéma MySQL vers un fichier :
mysqldump -h <your_mysql_host> -u <user_name> -p --no-data <schema_name> > schema.sql
  1. Mettre à jour le Dockerfile : Modifiez votre Dockerfile pour inclure le Commande ADD, qui ajoute le fichier de schéma au répertoire /docker-entrypoint-initdb.d dans le conteneur :
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

Le répertoire docker-entrypoint-initdb.d contient des scripts qui s'exécutent pendant la base de données initialisation, y compris les fichiers SQL.

  1. Démarrez Docker MySQL Instance : Créez et exécutez votre instance Docker MySQL à l'aide de Docker Compose :
docker-compose build
docker-compose up

En suivant ces étapes, vous pouvez initialiser efficacement une base de données MySQL avec un schéma dans un conteneur Docker.

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!

Déclaration:
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