Docker コンテナでの MySQL の準備状況を確認する方法
複数の Docker コンテナをデプロイすると、依存する操作を続行する前にデータベースの可用性を確保する際に課題が生じる可能性があります。この問題は、未完了の MySQL セットアップ エントリポイント スクリプトが原因でスクリプトが失敗した場合に明らかになります。
解決策: mysqladmin を使用して MySQL の準備状況を確認する
このような失敗を回避するには、インストールすることを検討してください。 mysql-client パッケージを使用し、mysqladmin コマンドを利用します。このアプローチにより、以下のコード スニペットに示すように、ターゲット MySQL サーバーに ping を実行できます。
while ! mysqladmin ping -h"$DB_HOST" --silent; do sleep 1 done
この while ループは、ターゲット ホストが ping に肯定的に応答し、MySQL がクエリの準備ができていることを示すまで継続します。 sleep コマンドでは、ping の試行間に 1 秒の遅延が発生し、データベースの初期化に十分な時間が確保されます。
このアプローチの利点
待機ループで mysqladmin を利用すると、MySQL が起動して実行されたら、自信を持ってダウンストリーム操作を続行でき、Docker コンテナの信頼性が高く効率的なデプロイが保証されます。
以上がDocker コンテナで MySQL の準備を確保する方法: mysqladmin を使用した実践ガイド?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。