Maison  >  Article  >  base de données  >  Comment valider les modifications de données sur une image de conteneur MySQL ?

Comment valider les modifications de données sur une image de conteneur MySQL ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-24 10:48:29143parcourir

How Do I Commit Data Changes to a MySQL Container Image?

Comment valider les modifications de données dans une image de conteneur MySQL

Lors de l'utilisation de l'image MySQL officielle pour créer un conteneur, toutes les données stockées dans le la base de données persistera même après l'arrêt ou la suppression du conteneur. En effet, les données sont stockées dans un volume persistant qui ne fait pas partie de l'image elle-même.

Cependant, dans certains cas, vous souhaiterez peut-être valider les modifications de la base de données sur l'image afin que les données soient incluses dans la nouvelle image. Pour ce faire, vous devez créer une image MySQL personnalisée sans volumes.

Étapes :

  • Créez un nouveau Dockerfile et incluez les lignes suivantes :
FROM mysql
VOLUME ["/var/lib/mysql"]
  • Supprimez le volume /var/lib/mysql.
  • Construisez l'image :
<code class="sh">sudo docker build -t <image-name> .</code>
  • Exécutez le conteneur en utilisant la nouvelle image et importez le dump SQL :
<code class="sh">sudo docker run --name mysql-psat1 -e MYSQL_ROOT_PASSWORD=secret -d <image-name>
sudo docker exec -it mysql-psat1 bash
> mysql -uroot -psecret -e 'create database liferay_psat1;'
> mysql -uroot -psecret liferay_psat1 < /mnt/liferay_sql_dump.sql</code>
  • Validez les modifications apportées à l'image :
<code class="sh">sudo docker commit -m "Imported liferay sql dump" mysql-psat1 <image-name>:v1</code>

La nouvelle image sera contenir la base de données nouvellement créée et ses données.

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