Maison >base de données >tutoriel mysql >Comment configurer et importer efficacement un vidage MySQL dans un conteneur Docker ?

Comment configurer et importer efficacement un vidage MySQL dans un conteneur Docker ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-03 22:28:14539parcourir

How to Efficiently Set Up and Import a MySQL Dump within a Docker Container?

Configuration MySQL et importation de vidage dans Dockerfile

Créer un fichier Docker pour configurer une base de données MySQL et importer un vidage est une tâche courante sur le Web développement. Cependant, vous pouvez rencontrer des problèmes lors du démarrage de MySQL.

Le problème dans le Dockerfile fourni pourrait résider dans l'étape d'initialisation manquante du serveur MySQL. Pour résoudre ce problème, envisagez d'utiliser la dernière version de l'image officielle MySQL Docker, qui simplifie la création de base de données et l'importation de vidages lors du démarrage du conteneur.

Voici un exemple docker-compose.yml qui illustre cette approche :

data:
  build: docker/data/.
mysql:
  image: mysql
  ports:
    - "3307:3306"
  environment:
    MYSQL_ROOT_PASSWORD: 1234
  volumes:
    - ./docker/data:/docker-entrypoint-initdb.d
  volumes_from:
    - data

Dans cet exemple, le fichier data-dump.sql est monté dans le répertoire /docker-entrypoint-initdb.d sur le conteneur. Le script Docker Entrypoint gère le processus d'importation au démarrage du conteneur.

De plus, si vous souhaitez conserver les données après l'arrêt ou la suppression du conteneur MySQL, utilisez un conteneur de données distinct. Le contenu du Dockerfile du conteneur de données peut être simplifié comme suit :

FROM n3ziniuka5/ubuntu-oracle-jdk:14.04-JDK8

VOLUME /var/lib/mysql

CMD ["true"]

Avec cette configuration, les données sont conservées quel que soit l'état du conteneur MySQL.

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