Docker - 如何检查Dockerfile中的curl命令是否有响应代码200

时间:2016-05-09 09:35:14

标签: linux unix curl docker dockerfile

在Dockerfile中我尝试使用curl下载工件。我已经检查过虽然工件不存在(因此获得404),但是docker构建仍然在运行。

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

有没有办法检查卷曲响应代码是否为200,否则会抛出错误?

1 个答案:

答案 0 :(得分:1)

您可以将-f(或--fail)添加到curl调用,这会导致curl在服务器错误上无提示失败。来自curl manpage

  

-f / - 失败

     

(HTTP)服务器错误无提示失败(根本没有输出)。这主要是为了更好地启用脚本等以更好地处理失败的尝试。在正常情况下,当HTTP服务器无法传递文档时,它会返回一个HTML文档(通常也会描述原因和更多内容)。此标志将阻止curl输出该值并返回错误22。

     

此方法不是故障安全的,并且有时会出现非成功的响应代码,特别是涉及身份验证时(响应代码401和407)。