2017-03-10 7 views
0

HTTPヘルスチェックのためにDockerfileで以下の構文を使用できます。Dockerfileを使用したドッカーコンテナのTCPヒースチェック?

HEALTHCHECK --interval=5s --timeout=3s CMD curl --fail  http://localhost/feeds/check || exit 1 

TCP healthcheckを使用する場合はどうすればいいですか?

PS-ドッカーがネイティブにサポートしているかどうかわからない場合は、&を追加する必要はありません。

答えて

-1

HTTPはTCPプロトコルのみで動作するように設計されているため、HTTPヘルスチェックはTCPリンクの正常性を反映します。

+0

アプリケーションがHTTP応答を提供しない場合、 'curl:' curl: '(52)' 'サーバーからの空の応答'で 'curl'が失敗します。 – strangeman

1

ドッカーのヘルスチェックは、コンテナ内に与えたコマンドを実行して戻りコードをチェックすることによって実装されます。たとえば、curlとjqをインストールした場合、jsonの出力を解析して正常性を判断できます。

あなたのTCPポートには、イメージ内に必要な実行ファイルと、それをあなたのヘルスチェックとしてテストするコマンドを含めてください。その実行可能ファイルはアプリケーションクライアントかもしれませんし、ポートがリッスンしているかどうかを確認するnetstatか、独自の手動テストを実装するためのnet catかもしれません。

関連する問題