ホームページ  >  記事  >  データベース  >  続行する前に MySQL コンテナの準備が整っていることを確実に確認するにはどうすればよいですか?

続行する前に MySQL コンテナの準備が整っていることを確実に確認するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-17 10:04:03634ブラウズ

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

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。