MySQL コンテナの初期化を待機しています
Docker コンテナは、アプリケーションを実行するための分離環境を提供します。複数のコンテナをデプロイする場合、多くの場合、それらの依存関係を調整する必要があります。この場合、他のタスクに進む前に、MySQL コンテナのデータベースの準備ができるまで待つことが重要です。
以前の試みでは、MySQL の準備ができるまで待機するスクリプトの実行が含まれていましたが、このアプローチは信頼性が低かったため、エントリポイントのセットアップ スクリプトで競合状態が発生します。より堅牢なソリューションを求めて、ユーザーは bash sleep コマンドを検討しましたが、その限界を認識しました。
より洗練された効果的なアプローチは、mysql-client パッケージの mysqladmin ユーティリティを使用することです。このユーティリティは、ターゲット サーバーに ping を実行して、サーバーが応答しているかどうかを確認できます。 mysqladmin ping とスリープ ループを組み合わせることで、単純な待機メカニズムを実装できます。
while ! mysqladmin ping -h"$DB_HOST" --silent; do sleep 1 done
このループは、MySQL コンテナが応答するまで繰り返し ping を実行し、他のタスクに進む前にデータベースの準備が整っていることを確認します。
以上が続行する前に MySQL コンテナの準備が整っていることを確実に確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。