2016-05-09 4 views
0

Dockerfile内でcurlを使用してアーティファクトをダウンロードしようとしました。私は、アーティファクトが存在しないにもかかわらず(したがって、404を取得していますが)ドッカーのビルドが動作し続けることを確認しました。Docker - Dockerfile内のcurlコマンドがレスポンスコード200を持っているかどうかを確認する方法

RUN curl -H 'Cache-Control: no-cache' ${STANDALONE_LOCATION} -o $JBOSS_HOME/standalone/configuration/standalone.xml 

カールレスポンスコードが200であることを確認し、そうでなければエラーをスローする方法はありますか?

答えて

1

curl呼び出しに-f(または--fail)を追加すると、curlはサーバーエラーで自動的に失敗します。 curl manpageから:

-f/- (HTTP)サーバーエラーに静かに(全くの出力を)失敗しない

に失敗。これは、失敗した試行をスクリプトなどがうまく処理できるようにするために主に行われます。通常、HTTPサーバーが文書の配信に失敗した場合は、その理由を説明するHTML文書を返します。

この方法はフェイルセーフではなく、特に認証が含まれている場合(応答コード401と407)、正常でない応答コードが通過することがある場合があります。このコードは、 。

関連する問題