Maison >base de données >tutoriel mysql >Comment puis-je vérifier de manière fiable la préparation de la base de données MySQL dans un environnement Docker Compose ?

Comment puis-je vérifier de manière fiable la préparation de la base de données MySQL dans un environnement Docker Compose ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-14 01:11:09997parcourir

How Can I Reliably Verify MySQL Database Readiness in a Docker Compose Environment?

Docker-Compose : Vérification de l'état de préparation de la connexion MySQL

Dans un environnement Docker Compose, il est essentiel de s'assurer que votre conteneur d'application ne démarre pas opérations jusqu'à ce que le conteneur de base de données soit pleinement opérationnel et prêt à accepter les connexions. C'est là que les fonctionnalités depend_on et healthcheck entrent en jeu.

Dans votre configuration, le conteneur d'application dépend du conteneur de base de données, qui est défini avec un contrôle de santé pour déterminer quand il est prêt à être utilisé. Cependant, aucun des tests de contrôle de santé mentionnés dans votre message (création d'un répertoire, vérification de la version ou ping de l'administrateur) n'est un indicateur fiable de l'état de préparation de la base de données.

Un contrôle de santé plus efficace implique d'utiliser l'outil mysqladmin pour tester si MySQL accepte les connexions :

healthcheck:
  test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
  timeout: 20s
  retries: 10

Avec ce contrôle de santé en place, le conteneur d'application attendra que le conteneur de base de données réussisse ce test, garantissant ainsi que la base de données est pleinement opérationnelle avant en cours.

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