ホームページ >データベース >mysql チュートリアル >Docker コンテナで MySQL の準備を確保するにはどうすればよいですか?

Docker コンテナで MySQL の準備を確保するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-22 11:08:11553ブラウズ

How to Ensure MySQL Readiness in Docker Containers?

Docker コンテナでの MySQL の準備状況の確認

複数の Docker コンテナをデプロイする場合、他のタスクに進む前にサービスの可用性を判断することが重要です。 MySQL コンテナは、初期化スクリプトが原因でタイミングの問題に特に敏感です。これにより、完全に準備が整う前にスクリプトがデータベースにアクセスしようとすると、エラーが発生する可能性があります。

この課題に対処するには、Bash スリープを使用する代わりに、mysql-client パッケージに含まれる mysqladmin ユーティリティを利用することができます。 。 mysqladmin と待機ループを組み合わせることで、MySQL の準備状況を確実にチェックできます。

実装方法は次のとおりです。

while ! mysqladmin ping -h"$DB_HOST" --silent; do
    sleep 1
done

このスクリプトでは、ping コマンドは、への接続を確立しようとします。 MySQL は、サービスがまだ利用できない場合には 0 以外のステータスを返します。 --silent オプションは出力を抑制するため、繰り返しのチェックに最適です。

この待機ループを組み込むことで、MySQL が完全に起動してクエリを受け入れる準備ができた場合にのみ後続のスクリプトが実行されるようになり、潜在的なエラーを排除できます。導入ワークフローを改善します。

以上がDocker コンテナで MySQL の準備を確保するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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