Docker-Compose: Überprüfung der MySQL-Verbindungsbereitschaft
In einer Docker Compose-Umgebung ist es wichtig sicherzustellen, dass Ihr Anwendungscontainer nicht initiiert wird Vorgänge ausführen, bis der Datenbankcontainer vollständig betriebsbereit und bereit ist, Verbindungen anzunehmen. Hier kommen die Funktionen „depends_on“ und „healthcheck“ ins Spiel.
In Ihrer Konfiguration hängt der App-Container vom Datenbankcontainer ab, der mit einem Healthcheck definiert wird, um zu bestimmen, wann er einsatzbereit ist. Allerdings ist keiner der in Ihrem Beitrag erwähnten Healthcheck-Tests (Erstellen eines Verzeichnisses, Überprüfen der Version oder Anpingen des Administrators) ein verlässlicher Indikator für die Datenbankbereitschaft.
Eine effektivere Healthcheck besteht darin, das Tool mysqladmin zu verwenden, um zu testen, ob MySQL akzeptiert Verbindungen:
healthcheck: test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"] timeout: 20s retries: 10
Wenn diese Gesundheitsprüfung aktiviert ist, wartet der App-Container, bis der Datenbankcontainer diesen Test besteht, um sicherzustellen, dass die Datenbank zuvor vollständig betriebsbereit ist geht weiter.
Das obige ist der detaillierte Inhalt vonWie kann ich die Bereitschaft einer MySQL-Datenbank in einer Docker-Compose-Umgebung zuverlässig überprüfen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!