Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie kann man zuverlässig sicherstellen, dass ein MySQL-Container bereit ist, bevor man fortfährt?

Barbara Streisand
Freigeben: 2024-11-17 10:04:03
Original
634 Leute haben es durchsucht

How to Reliably Ensure a MySQL Container is Ready Before Proceeding?

Warten auf die Initialisierung des MySQL-Containers

Docker-Container bieten eine isolierte Umgebung zum Ausführen von Anwendungen. Bei der Bereitstellung mehrerer Container müssen häufig deren Abhängigkeiten koordiniert werden. In diesem Fall ist es wichtig, zu warten, bis die Datenbank des MySQL-Containers bereit ist, bevor Sie mit anderen Aufgaben fortfahren.

Ein früherer Versuch bestand darin, ein Skript auszuführen, um darauf zu warten, dass MySQL bereit ist. Dieser Ansatz erwies sich jedoch als unzuverlässig mit dem Einstiegspunkt-Setup-Skript zu einer Race-Bedingung führen. Auf der Suche nach einer robusteren Lösung dachte der Benutzer über einen Bash-Sleep-Befehl nach, erkannte jedoch dessen Einschränkungen.

Ein eleganterer und effektiverer Ansatz ist die Verwendung des Dienstprogramms mysqladmin aus dem Paket mysql-client. Dieses Dienstprogramm kann den Zielserver anpingen, um festzustellen, ob er antwortet. Durch die Kombination von mysqladmin-Ping mit einer Schlafschleife kann ein einfacher Wartemechanismus implementiert werden:

while ! mysqladmin ping -h"$DB_HOST" --silent; do
    sleep 1
done
Nach dem Login kopieren

Diese Schleife pingt wiederholt den MySQL-Container, bis er antwortet, und stellt so sicher, dass die Datenbank bereit ist, bevor mit anderen Aufgaben fortgefahren wird.

Das obige ist der detaillierte Inhalt vonWie kann man zuverlässig sicherstellen, dass ein MySQL-Container bereit ist, bevor man fortfährt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage