驗證Docker 容器中的MySQL 就緒情況
部署多個Docker 容器時,在繼續其他任務之前確定服務的可用性至關重要。 MySQL 容器由於其初始化腳本而對計時問題特別敏感。如果腳本在資料庫完全準備好之前嘗試存取資料庫,則可能會導致錯誤。
為了解決這個挑戰,使用 Bash sleep 的另一種方法是利用 mysqladmin 實用程序,該實用程式包含在 mysql-client 套件中。透過將 mysqladmin 與等待循環結合,您可以可靠地檢查 MySQL 的就緒情況。
以下是實現它的方法:
while ! mysqladmin ping -h"$DB_HOST" --silent; do sleep 1 done
在此腳本中,ping 命令嘗試建立與如果服務尚不可用,MySQL 會傳回非零狀態。 --silent 選項抑制輸出,使其成為重複檢查的理想選擇。
透過合併此等待循環,您可以確保後續腳本僅在 MySQL 完全啟動並準備好接受查詢時執行,從而消除潛在的錯誤並改善您的部署工作流程。
以上是如何確保 Docker 容器中的 MySQL 就緒?的詳細內容。更多資訊請關注PHP中文網其他相關文章!