ホームページ >データベース >mysql チュートリアル >依存サービスを開始する前に Docker Compose で MySQL の準備が整っていることを確認する方法
Docker コンテナの領域では、必要な依存関係の準備ができた場合にのみアプリケーションが起動するようにすることが重要です。これは、接続を受け入れる前に初期化して準備する必要がある MySQL などのデータベースにとって特に重要です。
Docker Compose では、depends_on オプションと healthcheck オプションにより、コンテナ間の依存関係を制御する手段が提供されます。 depend_on オプションは、コンテナーが、指定された依存関係が正常になるまで待機してから開始することを指定します。一方、healthcheck オプションは、コンテナの健全性を判断するための基本的なテストを定義します。
MySQL の準備状況を検証しようとする場合、さまざまな方法が検討されています。
他のコンテナを起動する前に MySQL の準備が整っていることを確認するソリューションは次のとおりです。
version: "2.1" services: api: build: . container_name: api ports: - "8080:8080" depends_on: db: condition: service_healthy db: container_name: db image: mysql ports: - "3306" environment: MYSQL_ALLOW_EMPTY_PASSWORD: "yes" MYSQL_USER: "user" MYSQL_PASSWORD: "password" MYSQL_DATABASE: "database" healthcheck: test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"] timeout: 20s retries: 10
この構成では、DB コンテナが起動するまで API コンテナは起動しません。正常。これは、ヘルスチェック設定の「ping」テストによって決定されます。 「ping」テストは、MySQL サーバーが到達可能で接続を受け入れることができることを検証し、API コンテナーが安全に操作を開始できることを確認します。
以上が依存サービスを開始する前に Docker Compose で MySQL の準備が整っていることを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。