Überprüfen der MySQL-Bereitschaft in Docker-Containern
Bei der Bereitstellung mehrerer Docker-Container ist es wichtig, die Verfügbarkeit von Diensten zu ermitteln, bevor Sie mit anderen Aufgaben fortfahren. MySQL-Container reagieren aufgrund ihrer Initialisierungsskripte besonders empfindlich auf Zeitprobleme. Dies kann zu Fehlern führen, wenn Skripte versuchen, auf die Datenbank zuzugreifen, bevor sie vollständig bereit ist.
Um dieser Herausforderung zu begegnen, besteht eine Alternative zur Verwendung von Bash Sleep darin, das Dienstprogramm mysqladmin zu nutzen, das im mysql-client-Paket enthalten ist . Durch die Kombination von mysqladmin mit einer Warteschleife können Sie zuverlässig prüfen, ob MySQL bereit ist.
So implementieren Sie es:
while ! mysqladmin ping -h"$DB_HOST" --silent; do sleep 1 done
In diesem Skript versucht der Ping-Befehl, eine Verbindung zu herzustellen MySQL und gibt einen Status ungleich Null zurück, wenn der Dienst noch nicht verfügbar ist. Die Option --silent unterdrückt die Ausgabe und eignet sich daher ideal für sich wiederholende Überprüfungen.
Durch die Einbindung dieser Warteschleife können Sie sicherstellen, dass nachfolgende Skripte erst dann ausgeführt werden, wenn MySQL vollständig hochgefahren und bereit ist, Abfragen anzunehmen, wodurch potenzielle Fehler vermieden werden und Verbesserung Ihres Bereitstellungsworkflows.
Das obige ist der detaillierte Inhalt vonWie stellt man die MySQL-Bereitschaft in Docker-Containern sicher?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!