Docker : validation de données dans un conteneur MySQL
Lorsque vous essayez de valider des données dans une image de conteneur MySQL, il est important de comprendre l'impact de volumes de données.
L'image officielle MySQL Docker utilise des volumes de données pour stocker ses données. Bien que cela permette la persistance des données au-delà de la durée de vie d'un conteneur, cela signifie également que les données ne sont pas incluses dans l'image validée.
Pour valider des données dans une image avec MySQL, créez une image de base personnalisée sans volumes. Par exemple, créez une nouvelle image basée sur l'image MySQL avec le Dockerfile suivant :
FROM mysql:latest RUN rm -rf /var/lib/mysql/ CMD ["mysqld"]
Ensuite, créez l'image personnalisée :
docker build -t my-custom-mysql-image .
Avec cette image de base personnalisée, vous pouvez créez des conteneurs et importez des données comme vous le faisiez auparavant :
docker run --name my-mysql-container -e MYSQL_ROOT_PASSWORD=secret -d my-custom-mysql-image docker exec -it my-mysql-container bash mysql -uroot -psecret -e 'create database liferay_psat1;' mysql -uroot -psecret liferay_psat1 < /mnt/liferay_sql_dump.sql
Maintenant, lorsque vous validez le conteneur en tant que nouvelle image :
docker commit -m "Imported liferay sql dump" my-mysql-container my-custom-mysql-image:v1
Les données importées seront incluses dans l'image validée et disponible lors du démarrage de nouveaux conteneurs avec cette image.
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!