當 HEALTHCHECK 失敗時,Docker 容器會發生什么情況已經有一個類似的問題,但次要的點|| exit 1不是問題的主要焦點(也沒有直接回答)。
Dockerfile參考包含以下示例:
HEALTHCHECK
--interval=5m --timeout=3s \
CMD curl -f http://localhost/ || exit 1
|| exit 1我在互聯網上看到了其他幾個以健康檢查說明結尾的例子。即使原始命令僅有兩個可能的退出代碼是 0 和 1。
有什么意義|| exit 1?
不會curl -f自行退出并出現錯誤代碼 22?Docker是否無法識別1以外的錯誤代碼?
uj5u.com熱心網友回復:
即使原始命令僅有兩個可能的退出代碼是 0 和 1。
這是一個很大的假設,那些用|| exit 1. 如果命令以 2 或除 0 或 1 之外的任何其他代碼退出,則這是未定義的行為。據推測,docker 正在為他們將來可能提出的任何其他行為保留其他退出代碼。
特別是對于 curl,它可以退出許多其他值,這些值對 curl 有意義,但對于運行狀況檢查來說是未定義的行為。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/484304.html
標籤:码头工人
