Docker-Compose: MySQL 接続の準備状況の確認
Docker Compose 環境では、アプリケーション コンテナが起動しないようにすることが重要ですデータベース コンテナが完全に動作し、接続を受け入れる準備ができるまで操作を続行します。ここで、depends_on 機能と healthcheck 機能が登場します。
設定では、アプリ コンテナは db コンテナに依存します。db コンテナは、いつ使用できるかを判断するために healthcheck で定義されています。ただし、投稿で言及されているヘルスチェック テスト (ディレクトリの作成、バージョンのチェック、管理者への ping など) はどれも、データベースの準備状況の信頼できる指標ではありません。
より効果的なヘルスチェックには、mysqladmin ツールを使用して次のことをテストする必要があります。 MySQL は接続を受け入れています:
healthcheck: test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"] timeout: 20s retries: 10
このヘルスチェックが設定されていると、アプリ コンテナは DB コンテナがこのテストに合格するまで待機し、データベースが確実に続行する前に完全に動作していることを確認してください。
以上がDocker Compose 環境で MySQL データベースの準備状況を確実に確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。