Vérifier si le service MySQL d'un conteneur Docker est prêt

Publié le 03/09/2020 • Actualisé le 03/09/2020


English language detected! 🇬🇧

  We noticed that your browser is using English. Do you want to read this post in this language?

Read the english version 🇬🇧 Close

Dans le bout de code précédent nous avons vu comment faire pour un service Postgres; cette fois-ci cela concernera MySQL. Le processus est similaire mais il y a une légère différence puisqu'il n'existe pas d'équivalent à pg_isready pour MySQL. Donc nous devons chercher dans le résultat de la commande mysqladmin ping pour voir si le service est en vie (alive). Changez le paramètre sb-db pour le nom de votre conteneur Docker MySQL. Jetez un coup d'œil à mon Makefile complet pour voir comment j'appelle ce script dans la cible run.


#!/bin/sh
# https://stackoverflow.com/q/42567475/633864
seconds=1
until docker container exec -it strangebuzz-db-1 mysqladmin ping -P 3306 -proot | grep "mysqld is alive" ; do
  >&2 echo "MySQL is unavailable - waiting for it... 😴 ($seconds)"
  sleep 1
  seconds=$(expr $seconds + 1)
done
sleep 1

 Plus sur Stackoverflow   Lire la doc  Snippet aléatoire

  Travaillez avec moi !