docker-compose ヘルスチェックに合格しましたが、依然として異常です
P粉596161915
P粉596161915 2024-02-26 10:58:41
0
2
402

条件 compose 仕様はバージョン 3.0 から 3.8 で削除されましたが、現在は復活しています。 compose 仕様のバージョン v3.9 では、conditiondepends_on の長い構文形式のオプションとして使用できます。

Docker Compose を使用して MySQL および Java Web プロジェクトを開始します。 JavaWeb の起動には完全なデータを作成するために MySQL が必要なので、healthcheck

を使用します。

しかし、mysql の healthcheck に問題があります。これは私の docker-compose

リーリー

間違った記述は次のとおりです:

リーリー

コンソール出力:

リーリー

fubaquant が mysql healthcheck に依存しているため、fubaquant も起動されません

mysql コンテナのヘルスチェック ログは次のとおりです:

mysqlのヘルスチェックログを確認しましたが、これも健全です

###ご協力いただきありがとうございます###
P粉596161915
P粉596161915

全員に返信(2)
P粉316890884

間違ったユーザーとパスワードを使用してヘルスチェックを実行しようとしているようです。あなたが持っている### ###健康診断: テスト: ["CMD"、"mysqladmin"、"-u$mysql"、"-p$123456"、"ping"、"-h"、"localhost"]

$mysql

$123456 は、これらの変数の値を解決しようとします。あなたが望むのは、以下を使用することです。 ###健康診断: テスト: ["CMD"、"mysqladmin"、"-u$MYSQL_USER"、"-p$MYSQL_PASSWORD"、"ping"、"-h"、"localhost"]

これにより、ユーザー
mysql
とパスワード

123456 (両方とも mysqlService で docker-compose として定義) を使用して mysaqladmin の実行が試行されます。環境変数)###

いいねを押す +0
P粉022140576

1 秒間隔で 3 回の再試行のみを許可するようにヘルス チェックを構成しました。 compose が Java を開始すると、mysql サービスはこの 3 秒の遅延内に正常な状態に到達しないため、compose は停止し、このエラーを報告します。 再試行回数を増やすだけでうまくいきます

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート