[英]Docker - How to check if curl command inside Dockerfile had response code 200
在Dockerfile內,我嘗試使用curl下載工件。 我檢查了一下,盡管該工件不存在(因此得到了404),但docker build仍在運行。
RUN curl -H 'Cache-Control: no-cache' ${STANDALONE_LOCATION} -o $JBOSS_HOME/standalone/configuration/standalone.xml
有沒有辦法檢查curl響應代碼是否為200,否則拋出錯誤?
您可以在curl調用中添加-f
(或--fail
),這將導致curl在服務器錯誤時默默地失敗。 從curl聯機幫助頁 :
-f /-失敗
(HTTP)在服務器錯誤時靜默失敗(根本沒有輸出)。 這樣做主要是為了更好地使腳本等能夠更好地處理失敗的嘗試。 在正常情況下,當HTTP服務器無法交付文檔時,它會返回HTML文檔,說明其內容(通常還會說明原因以及更多內容)。 該標志將阻止curl輸出該錯誤並返回錯誤22。
此方法不是故障安全的,並且有時會漏出不成功的響應代碼,尤其是在涉及身份驗證時(響應代碼401和407)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.