Docker?容器健康檢查的指令方式詳解
正文

Docker 容器健康檢查指的是在 Dockerfile 中使用 HEALTHCHECK 指令對容器的運行狀態(tài)進行檢查,
并在 docker ps 的 STATUS 欄顯示 healthy/unhealthy。
HEALTHCHECK 指令有兩種格式
HEALTHCHECK [OPTIONS] CMD command(通過在容器內(nèi)運行命令檢查容器的健康狀態(tài))HEALTHCHECK NONE(禁用從基礎(chǔ)鏡像中繼承任何健康檢查)HEALTHCHECK 指令告訴 Docker 如何測試一個容器,以檢查它是否仍在工作。
這可以檢測到一些情況,例如 web 服務(wù)器陷入無限循環(huán),無法處理新的連接,即使服務(wù)器進程仍在運行。
當(dāng)容器指定了健康檢查時,除了正常狀態(tài)外,它還具有健康狀態(tài)。此狀態(tài)初始為 starting。
只要健康檢查通過,它就會恢復(fù)到 healthy(無論它以前處于什么狀態(tài))。在連續(xù)失敗一定次數(shù)后,它就會變得 unhealthy。
CMD 之前可以出現(xiàn)的選項有
--interval=DURATION(默認(rèn):30s)--timeout=DURATION(默認(rèn):30s)--start-period=DURATION(默認(rèn):0s)--retries=N(默認(rèn):3)運行狀態(tài)檢查
首先會在容器啟動后的 interval 秒內(nèi)運行,然后在前一次檢查完成后的 interval 秒內(nèi)再次運行。
如果一次狀態(tài)檢查花費的時間超過 timeout 秒,則認(rèn)為這次檢查失敗。
容器的運行狀態(tài)檢查連續(xù)失敗 retries 次才會被視為不健康。
start period 為需要時間啟動的容器提供初始化時間。在此期間的探測失敗將不計入最大重試次數(shù)。
但是,如果在啟動期間健康檢查成功,則認(rèn)為容器已啟動,所有連續(xù)失敗的情況都將計算到最大重試次數(shù)。
Dockerfile 中只能有一個 HEALTHCHECK 指令。如果列出多個,則只有最后一個 HEALTHCHECK 才會生效。
CMD 關(guān)鍵字后面的命令可以是 shell 命令(例如 HEALTHCHECK CMD /bin/check-running)或 exec 數(shù)組(與其他 Dockerfile 命令一樣,有關(guān)詳細(xì)信息,請參見 ENTRYPOINT)。
command 的退出狀態(tài)表示容器的健康狀態(tài)。可能的值是:
0:成功--容器運行良好,可以使用1:不健康—-容器不能正常工作2:保留--不使用此退出碼例如,每五分鐘左右檢查一次 web 服務(wù)器是否能在三秒內(nèi)為站點的主頁提供服務(wù):
1
2
HEALTHCHECK --interval=5m --timeout=3s
CMD curl -f http://localhost/ || exit 1
為了幫助調(diào)試失敗的探測,command 寫在 stdout 或 stderr 上的任何輸出文本(UTF-8編碼)都將存儲在健康狀態(tài)中,并且可以通過 docker inspect 進行查詢。
這樣的輸出應(yīng)該保持簡短(目前只存儲前4096個字節(jié))。
當(dāng)容器的健康狀態(tài)發(fā)生變化時,將生成一個具有新狀態(tài)的 health_status 事件。
以上就是Docker 容器健康檢查的指令方式詳解的詳細(xì)內(nèi)容,更多關(guān)于Docker 容器健康檢查的資料請關(guān)注腳本之家其它相關(guān)文章!
原文鏈接:https://segmentfault.com/a/1190000039073943
本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。
如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請將相關(guān)資料發(fā)送至 reterry123@163.com 進行投訴反饋,一經(jīng)查實,立即處理!
相關(guān)知識
Docker安全性:最佳實踐和常見安全考慮
Docker鏡像瘦身技巧的新思路(基于chiselled Ubuntu)本文介紹一種docker image瘦身的技巧
使用 docker 部署 AspNetCore 應(yīng)用:使用alpine鏡像并加入健康檢查和瘦身
[云原生] Kubernetes(k8s)健康檢查詳解與實戰(zhàn)演示(就緒性探針 和 存活性探針)
k8s健康檢查 spring k8s健康檢查探針多個地址
《口腔健康調(diào)查 檢查方法》標(biāo)準(zhǔn)解讀
負(fù)載均衡SLB四層(TCP/UDP)健康檢查出現(xiàn)異常的解決方法
健康檢查項目詳細(xì)分析
茹珺:產(chǎn)前檢查項目詳解:了解每一項檢查的意義
醫(yī)院特殊行業(yè)全面體檢項目表:詳解職業(yè)健康檢查必備內(nèi)容(附2024年版)
網(wǎng)址: Docker?容器健康檢查的指令方式詳解 http://m.u1s5d6.cn/newsview905353.html
推薦資訊
- 1發(fā)朋友圈對老公徹底失望的心情 12775
- 2BMI體重指數(shù)計算公式是什么 11235
- 3補腎吃什么 補腎最佳食物推薦 11199
- 4性生活姿勢有哪些 盤點夫妻性 10428
- 5BMI正常值范圍一般是多少? 10137
- 6在線基礎(chǔ)代謝率(BMR)計算 9652
- 7一邊做飯一邊躁狂怎么辦 9138
- 8從出汗看健康 出汗透露你的健 9063
- 9早上怎么喝水最健康? 8613
- 10五大原因危害女性健康 如何保 7828
