So bestimmen Sie die MySQL-Bereitschaft in Docker-Containern
Die Bereitstellung mehrerer Docker-Container kann eine Herausforderung bei der Sicherstellung der Datenbankverfügbarkeit darstellen, bevor mit abhängigen Vorgängen fortgefahren wird. Dieses Problem wird deutlich, wenn ein Skript aufgrund eines nicht abgeschlossenen MySQL-Setup-Einstiegspunktskripts fehlschlägt.
Lösung: Verwendung von mysqladmin zur Überprüfung der MySQL-Bereitschaft
Um solche Fehler zu vermeiden, sollten Sie eine Installation in Betracht ziehen das mysql-client-Paket und die Nutzung des mysqladmin-Befehls. Mit diesem Ansatz können Sie den Ziel-MySQL-Server anpingen, wie im Codeausschnitt unten zu sehen ist:
while ! mysqladmin ping -h"$DB_HOST" --silent; do sleep 1 done
Diese While-Schleife wird fortgesetzt, bis der Zielhost positiv auf den Ping antwortet, was anzeigt, dass MySQL für Abfragen bereit ist. Der Schlafbefehl führt eine Verzögerung von einer Sekunde zwischen den Ping-Versuchen ein, sodass die Datenbank ausreichend Zeit zum Initialisieren hat.
Vorteile dieses Ansatzes
Durch die Verwendung von mysqladmin in einer Warteschleife können Sie sicher mit nachgelagerten Vorgängen fortfahren, sobald MySQL betriebsbereit ist, und so eine zuverlässige und effiziente Bereitstellung Ihrer Docker-Container gewährleisten.
Das obige ist der detaillierte Inhalt vonSo stellen Sie die MySQL-Bereitschaft in Docker-Containern sicher: Ein praktischer Leitfaden mit mysqladmin?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!