精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

在Docker中巧用Healthcheck檢查健康狀態

云計算
自 1.12 版本之后,Docker 引入了原生的健康檢查實現。對于容器而言,最簡單的健康檢查是進程級的健康檢查,即檢驗進程是否存活。

Docker 原生健康檢查能力

自 1.12 版本之后,Docker 引入了原生的健康檢查實現。對于容器而言,最簡單的健康檢查是進程級的健康檢查,即檢驗進程是否存活。Docker Daemon會自動監控容器中的PID 1進程,如果docker run命令中指明了restart policy,可以根據策略自動重啟已結束的容器。在很多實際場景下,僅使用進程級健康檢查機制還遠遠不夠。比如,容器進程雖然依舊運行卻由于應用死鎖無法繼續響應用戶請求,這樣的問題是無法通過進程監控發現的。

當一個容器有指定健康檢查 (HEALTHCHECK) 時,它除了普通的容器狀態之外,還有以下幾種狀態:

  • starting:容器仍在啟動時的初始狀態
  • healthy:如果命令成功,則容器是健康的
  • unhealthy:如果單次運行時間超過指定的超時時間,則認為它不健康。如果運行狀況檢查失敗,則將運行重試次數,如果仍然失敗,將被宣布為不健康。

容器啟動之后,初始狀態會為 starting (啟動中)。Docker Engine會等待 interval 時間,開始執行健康檢查命令,并周期性執行。如果單次檢查返回值非0或者運行需要比指定 timeout 時間還長,則本次檢查被認為失敗。如果健康檢查連續失敗超過了 retries 重試次數,狀態就會變為 unhealthy (不健康)。

注:

一旦有一次健康檢查成功,Docker會將容器置回 healthy (健康)狀態

當容器的健康狀態發生變化時,Docker Engine會發出一個 health_status 事件。通過檢查容器監控狀態有以下兩種方式:

1. Dockerfile 方式

可以在Dockerfile中聲明應用自身的健康檢測配置。HEALTHCHECK指令聲明了健康檢測命令,用這個命令來判斷容器主進程的服務狀態是否正常,從而比較真實的反應容器實際狀態。

HEALTHCHECK指令格式:

HEALTHCHECK [選項] CMD <命令>:設置檢查容器健康狀況的命令

HEALTHCHECK NONE:如果基礎鏡像有健康檢查指令,使用這行可以屏蔽掉

注 :在Dockerfile中HEALTHCHECK只可以出現一次,如果寫了多個,只有最后一個生效。

使用包含HEALTHCHECK指令的Dockerfile構建出來的鏡像,在實例化Docker容器的時候,就具備了健康狀態檢查的功能。啟動容器后會自動進行健康檢查。參考:healthcheck

HEALTHCHECK 支持下列選項:

--interval=<間隔>:兩次健康檢查的間隔,默認為 30 秒;

--timeout=<間隔>:健康檢查命令運行超時時間,如果超過這個時間,本次健康檢查就被視為失敗,默認 30 秒;

--retries=<次數>:當連續失敗指定次數后,則將容器狀態視為 unhealthy,默認 3 次。

--start-period=<間隔>: 應用的啟動的初始化時間,在啟動過程中的健康檢查失效不會計入,默認 0 秒;

參數作用解釋如下:

運行狀態檢查首先會在容器啟動后的 interval 秒內運行,然后在前一次檢查完成后的 interval 秒內再次運行。

如果一次狀態檢查花費的時間超過 timeout 秒,則認為這次檢查失敗。

容器的運行狀態檢查連續失敗 retries 次才會被視為不健康。

start period 為需要時間啟動的容器提供初始化時間。在此期間的探測失敗將不計入最大重試次數。

但是,如果在啟動期間健康檢查成功,則認為容器已啟動,所有連續失敗的情況都將計算到最大重試次數。

在HEALTHCHECK [選項] CMD后面的命令,格式和ENTRYPOINT一樣,分為 shell 格式,和 exec 格 式。命令的返回值決定了該次健康檢查的成功與否:

0:成功;

1:失敗;

2:保留值,不要使用

假設有個鏡像是個最簡單的 Web 服務,我們希望增加健康檢查來判斷其 Web 服務是否在正常工作,我們可以用 curl來幫助判斷,其 Dockerfile 的HEALTHCHECK可以這么寫:

FROM nginx:1.23
HEALTHCHECK --interval=5s --timeout=3s  --retries=3 \
    CMD curl -fs http://localhost/ || exit 1

這里設置了每 5 秒檢查一次(這里為了試驗所以間隔非常短,實際應該相對較長),如果健康檢查命令超過 3 秒沒響應,并且重試3次都沒響應就視為失敗,并且使用curl -fs http://localhost/ || exit 1作為健康檢查命令。

使用docker build來構建這個鏡像:

docker build -t myweb:v1 .

構建好后啟動容器:

docker run -d --name web myweb:v1

當運行該鏡像后,可以通過docker container ls看到最初的狀態為(health: starting):

docker container ls
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                            PORTS               NAMES
7068d793c6e4        myweb:v1            "/docker-entrypoint.…"   3 seconds ago       Up 2 seconds (health: starting)   80/tcp              web

在等待幾秒鐘后,再次docker container ls,就會看到健康狀態變化為了(healthy):

$ docker container ls
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                    PORTS               NAMES
7068d793c6e4        myweb:v1            "/docker-entrypoint.…"   18 seconds ago      Up 16 seconds (healthy)   80/tcp               web

如果健康檢查連續失敗超過了重試次數,狀態就會變為(unhealthy)。

為了幫助排障,健康檢查命令的輸出(包括stdout以及stderr)都會被存儲于健康狀態里,可以用 docker inspect來查看。

2. docker run 方式

另外一種方法是在docker run命令中,直接指明healthcheck相關策略

$ docker run  -d \
    --name=myweb \
    --health-cmd="curl -fs http://localhost/ || exit 1" \
    --health-interval=5s \
    --health-retries=12 \
    --health-timeout=2s \
    nginx:1.23

通過執行docker run --help | grep health命令查看相關的參數及解釋如下:

--health-cmd string:運行檢查健康狀況的命令

--health-interval duration:運行間隔時間(ms|s|m|h)(缺省為0s)

--health-retries int:需要報告不健康的連續失敗次數

--health-start-period duration :容器在開始健康重試倒計時之前初始化的起始周期(ms|s|m|h)(默認0)

--health-timeout duration:允許一次檢查運行的最大時間(ms|s|m|h)(默認為0s)

--no-healthcheck:禁用任何容器指定的HEALTHCHECK,會使得Dockerfile構建出來的HEALTHCHECK功能失效。

如果是以supervisor來管理容器的多個服務,想通過子服務的狀態來判斷容器的監控狀態,可以使用supervisorctl status來做判斷,比如:

$ docker run --rm -d \
    --name=myweb \
    --health-cmd="supervisorctl status" \
    --health-interval=5s \
    --health-retries=3 \
    --health-timeout=2s \
    nginx:v1

按照此參數的設置,如果supervisorctl status檢查子服務有一個不為正常的RUNNING狀態,那么在等待大約15秒左右,容器的健康狀態就會從(healthy)變為(unhealthy)。

3. docker-compose 方式

在docker-compose中,healthcheck聲明運行該檢查以確定此服務的容器是否“正常”。這將覆蓋由服務的 Docker 映像設置的 HEALTHCHECK Dockerfile 指令。參考:healthcheck

以通過supervisor管理子進程的容器為例:

version: '3.8'
services:
  web:
    image: nginx:v1
    container_name: web
    healthcheck:
      test: ["CMD", "supervisorctl", "status"]
      interval: 5s
      timeout: 2s
      retries: 3
      start_period: 10s

注意:start_period參數,在Version 2.3和Version 3.4中引入,如果在yml文件中的開頭寫的是version: ‘3’,這相當于是3.0版本,會導致啟動失敗,出現類似信息:services.web.healthcheck value Additional properties are not allowed ('start_period' was unexpected)。因此需要把docker-compose的version指定2.3或者3.4之后的版本。Compose版本及Docker Engine的兼容版本對應關系參考:compatibility-matrix

執行成功后,等待數秒查詢容器的狀態:

$ docker-compose ps
Name              Command                  State                 Ports          
--------------------------------------------------------------------------------
web    supervisord -c /etc/superv ...   Up (healthy)   443/tcp, 80/tcp

當通過手動supervisorctl stop停掉里面的一些子服務,導致里面的子服務狀態不全為RUNNING狀態時,再查看容器的狀態:

$ docker-compose ps
Name              Command                   State                  Ports          
----------------------------------------------------------------------------------
web    supervisord -c /etc/superv ...   Up (unhealthy)   443/tcp, 80/tcp

容器的健康狀態也會從(healthy)變為(unhealthy)。

也可以通過設置disable: true來禁用鏡像設置的運行狀況檢查:

healthcheck:
  disable: true


責任編輯:華軒 來源: 微技術之家
相關推薦

2022-08-23 10:04:23

Dockerhealth健康檢查

2017-08-25 10:20:46

Docker容器機制

2023-03-03 08:19:35

KubernetesgRPC

2023-05-09 07:34:25

Docker健康檢查方式

2021-07-15 10:25:15

集群節點檢查

2023-03-02 07:20:10

GRPC服務健康檢查協議

2013-11-20 14:46:43

PowerShellPowerShell Windows Ser

2013-11-20 14:41:08

PowerShellPowerShell Windows Ser

2022-09-07 09:19:49

Docker健康檢查

2017-05-17 14:51:31

DNS架構負載均衡

2023-03-01 08:33:37

gRPC健康檢查代碼

2021-01-15 05:38:28

ASPHttp端口

2019-12-26 14:00:01

AI人工智能太空旅行

2020-10-30 10:49:37

DockerGPULinux

2020-12-24 17:10:54

DockerLinux微信

2020-12-07 06:29:13

SpringBoot

2023-10-14 15:36:14

PodKubernetes

2024-02-27 17:30:11

2009-04-29 15:57:53

2010-08-10 10:15:01

思科路由器Nipper
點贊
收藏

51CTO技術棧公眾號

国产白丝精品91爽爽久久| 亚洲精品午夜av福利久久蜜桃| 黑人巨大精品欧美一区二区| 欧美精品一区在线发布| 国产永久免费视频| 在线欧美福利| 少妇激情综合网| 中文成人无字幕乱码精品区| 成人黄色毛片| 五月天亚洲精品| 亚洲一区二区在线观| 亚洲va久久久噜噜噜无码久久| 中文字幕av网站| 伊人影院蕉久影院在线播放| 99re热视频精品| 国产欧美日韩免费| 日韩高清免费av| 久久久国产精品| 亚洲欧美日韩一区二区在线| 精品人妻一区二区三| 日本不卡一二三| 亚洲高清免费观看 | 亚洲成人第一区| 三级不卡在线观看| 91精品国产成人www| 亚洲最大的黄色网址| 精品国产一区一区二区三亚瑟| 欧美不卡激情三级在线观看| 91av视频免费观看| 怡红院成人在线| 精品国产999| 99er在线视频| 污污影院在线观看| 中文字幕五月欧美| 亚洲巨乳在线观看| 欧美91精品久久久久国产性生爱| 成人亚洲一区二区一| 91精品久久久久久久久中文字幕| 波多野结衣视频免费观看| 亚洲东热激情| 欧美黄色小视频| 校园春色 亚洲| 亚洲精品91| 久久久国产精品亚洲一区| 山东少妇露脸刺激对白在线| 精品国精品国产自在久国产应用| 亚洲欧洲日产国码av系列天堂| 欧美成人三级伦在线观看| 亚洲1区在线| 欧美大片国产精品| 日本人妻一区二区三区| 日本成人手机在线| 日韩天堂在线观看| 麻豆传媒在线看| 精品国产伦一区二区三区观看说明| 欧美日韩1234| 国产人妻精品久久久久野外| 高清av免费看| a天堂在线资源| 国产精品美女一区二区三区| 亚洲激情图片| 免费黄网站在线| 亚洲精品视频在线观看网站| 亚洲天堂第一区| 国产精品蜜臀| 日韩欧美a级成人黄色| 青青在线视频免费| 国产成人免费精品| 9191精品国产综合久久久久久| 国产精品探花在线播放| 精品欧美视频| 日韩成人激情视频| 好吊一区二区三区视频| 视频精品在线观看| 日韩性xxxx爱| 国产精品白嫩白嫩大学美女| 影音先锋亚洲精品| 日韩男女性生活视频| 亚洲av无码乱码国产精品fc2| 美女爽到高潮91| 91亚洲精品一区二区| 欧美视频在线观看一区二区三区| 91在线看国产| 在线成人性视频| 密臀av在线| 久久精品人人做人人爽97 | 丰满肥臀噗嗤啊x99av| 成人精品高清在线| 欧美在线激情| 国产成人午夜| 午夜久久久久久电影| 国产麻花豆剧传媒精品mv在线| 91超碰碰碰碰久久久久久综合| 欧美一区二视频| 少妇户外露出[11p]| 精品美女久久| 色综合天天综合网国产成人网| www日韩精品| 捆绑变态av一区二区三区| 丁香五月网久久综合| 黄色在线观看网| 亚洲精品水蜜桃| 国产一区亚洲二区三区| 成人自拍视频| 成人免费在线播放| 亚洲6080在线| 国产乱码一区二区三区四区| 久久国产精品免费精品3p| 在线电影欧美日韩一区二区私密| 欧美日韩偷拍视频| 日韩精品电影一区亚洲| caoporn国产精品免费公开| 美女毛片在线看| 一区二区三区.www| 制服丝袜综合网| 日韩高清成人在线| 欧美二区在线播放| 无码久久精品国产亚洲av影片| 成人免费视频一区二区| 在线综合视频网站| 日韩三级影视| 亚洲国产高清高潮精品美女| 看黄色录像一级片| 日日摸夜夜添夜夜添亚洲女人| 懂色中文一区二区三区在线视频 | 久久久精品欧美丰满| 亚洲国产一二三精品无码| 国产一区二区主播在线| 亚洲精品久久久久| 一区二区三区免费高清视频| 久草这里只有精品视频| 亚洲巨乳在线观看| gogo亚洲高清大胆美女人体| 日韩国产一区三区| 国产无遮挡又黄又爽又色| 国产精品91xxx| a级黄色片网站| 欧美美女被草| 日韩在线欧美在线国产在线| 一级黄色av片| 久久午夜国产精品| 欧美变态另类刺激| 美女福利一区| 97超碰国产精品女人人人爽| 手机在线观看免费av| 午夜视频一区二区| 久久精品女同亚洲女同13| 亚洲国产精品第一区二区三区| 96久久精品| 欧美人与动牲性行为| 日韩欧美国产精品| 国产在线视频卡一卡二| 国产suv精品一区二区6| 国产精品69久久久| 精品亚洲自拍| 成人精品视频网站| 亚洲aaa激情| 怡红院在线观看| 日韩精品资源二区在线| 精品无码久久久久久久久| 成人蜜臀av电影| 国产一级爱c视频| 青青操综合网| 国产91在线播放精品91| 国产视频二区在线观看| 欧美性感一区二区三区| 午夜精品久久久久99蜜桃最新版| 久久99国产乱子伦精品免费| 三级在线免费观看| 北条麻妃一区二区三区在线| 97不卡在线视频| 成人动漫在线免费观看| 欧美另类高清zo欧美| 激情四射综合网| 成人h精品动漫一区二区三区| 日日橹狠狠爱欧美超碰| 经典一区二区| 91最新在线免费观看| 美女网站视频在线| 亚洲欧美视频在线| 一卡二卡三卡在线| 亚洲少妇屁股交4| 亚洲少妇18p| 丝袜诱惑亚洲看片| 午夜啪啪福利视频| 乱中年女人伦av一区二区| 国产国语videosex另类| 超碰在线网址| 亚洲天堂影视av| 精品久久国产视频| 一本久久综合亚洲鲁鲁五月天| 精品视频第一页| 成人免费精品视频| 一道本在线免费视频| 欧美日韩在线大尺度| 欧美一区二区三区在线免费观看| av在线国产精品| 欧美最猛性xxxx| 在线观看午夜av| 在线观看久久久久久| 性做久久久久久久久久| 欧美在线不卡视频| 国产精品不卡av| 中文字幕一区二区视频| 黄色国产在线观看| 国产精品亚洲专一区二区三区 | 久草手机视频在线观看| 成人小视频在线观看| 日韩av片专区| 成人在线高清免费| 99久久免费视频.com| 黄色片在线免费| 一区久久精品| 国产精品12p| 欧美日韩一区二区综合| 九九99玖玖| 午夜免费欧美电影| 成人福利在线观看| 天天综合网站| 庆余年2免费日韩剧观看大牛| 50度灰在线| 精品久久久91| 91吃瓜网在线观看| 国产亚洲一区精品| 天堂资源最新在线| 日韩精品一区二区三区四区 | 国产主播一区二区| 日本成人在线免费视频| 在线亚洲欧美| 全黄性性激高免费视频| 欧美一区久久| 欧美三级午夜理伦三级老人| 欧美高清视频手机在在线| 日韩高清国产一区在线观看| 美日韩中文字幕| 欧美久久综合性欧美| 日本欧美三级| 精品一区2区三区| 麻豆国产欧美一区二区三区r| 国产精品国产精品国产专区蜜臀ah | 色一情一伦一子一伦一区| 圆产精品久久久久久久久久久| 亚洲一区二区视频在线| 久草网在线观看| 亚洲午夜一二三区视频| 日韩精品一区三区| 亚洲国产日韩一级| 欧美亚洲天堂网| 精品久久久久人成| 久久精品视频5| 在线视频你懂得一区| 国产精品51麻豆cm传媒| 欧美视频中文字幕| 国产又粗又黄又爽| 欧美一级片在线看| 精品国产无码一区二区三区| 日韩精品一区国产麻豆| 天天操天天干天天爱| 亚洲欧美一区二区三区情侣bbw| 韩国中文字幕2020精品| 夜夜躁日日躁狠狠久久88av| 91ph在线| 欧美精品福利视频| 蜜桃视频动漫在线播放| 狠狠色狠色综合曰曰| 777av视频| 免费日韩av片| 亚洲综合日韩欧美| 国产一区二区伦理片| 少妇熟女视频一区二区三区 | 亚洲高清在线播放| 亚洲国产不卡| 国产一区二区网| 日韩电影一区二区三区| 亚欧激情乱码久久久久久久久| 国产在线国偷精品产拍免费yy| 免费观看一区二区三区| 91丨porny丨国产| 亚洲欧美综合7777色婷婷| 亚洲免费观看高清在线观看| 国产精品xxxx喷水欧美| 欧美日韩国产一区| 六月丁香综合网| 在线视频欧美日韩| 青草av在线| 日韩av电影免费观看高清| 久久9999免费视频| 久久偷窥视频| 天天揉久久久久亚洲精品| 国产高清av在线播放| 日韩av电影天堂| 久草免费资源站| 中文字幕欧美日本乱码一线二线| 久久国产精品二区| 欧美亚洲免费在线一区| 成人毛片视频免费看| 尤物九九久久国产精品的特点 | 亚洲欧美色图视频| 成人欧美一区二区三区1314| 久久久午夜影院| 欧美一区2区视频在线观看| 男人天堂综合| 欧美激情免费观看| 国产精品伦一区二区| 国产专区一区二区| 欧美国产91| 日本中文字幕观看| 2024国产精品视频| 久久精品国产亚洲av香蕉 | 色wwwwww| 久久精品一区中文字幕| 神马久久午夜| 成人动漫在线视频| 99热精品久久| 午夜精品在线免费观看| 91网站视频在线观看| 亚洲熟女www一区二区三区| 欧美中文字幕一区二区三区亚洲| 无码国产精品一区二区免费16| 久久国产精品影片| 欧美日韩视频免费看| 欧美性xxxx69| 夜夜嗨一区二区| 久久国产免费视频| 亚洲女人的天堂| 一区二区三区www污污污网站| 亚洲男人天堂2019| 忘忧草在线影院两性视频| 国产精品对白刺激久久久| 欧美在线高清| 涩涩网站在线看| 《视频一区视频二区| 在线观看中文字幕2021| 最近2019中文字幕大全第二页| 精品国产免费人成网站| 欧美美乳视频网站在线观看| 一本久久知道综合久久| 国产精品一区二区人妻喷水| 亚洲一区二区三区中文字幕在线| 亚洲精品视频专区| 欧美高清视频免费观看| 日韩视频一区二区三区四区| 超薄肉色丝袜足j调教99| 国产另类ts人妖一区二区| 男女做暖暖视频| 日韩欧美高清dvd碟片| 在线三级电影| 国产经品一区二区| 亚洲国产清纯| 无码人妻aⅴ一区二区三区| 欧美性猛交xxxx偷拍洗澡| 九色视频在线播放| 国产精品69av| 99久久夜色精品国产亚洲96 | 日韩av不卡一区| 国产亚洲综合视频| 久久久三级国产网站| 波多野结衣一区二区三区四区| 中文字幕av一区二区| 五月天色综合| www.国产二区| 91一区二区三区在线观看| 在线观看日本网站| 中文字幕精品在线视频| 久久一级大片| 六月婷婷在线视频| 久久精子c满五个校花| 一级特黄aaa| 欧美极度另类性三渗透| 少妇精品导航| 午夜免费看视频| 亚洲国产精品久久久久婷婷884| 亚洲av片一区二区三区| 国产精品白丝jk喷水视频一区| 欧美残忍xxxx极端| 性活交片大全免费看| 欧美性猛交xxxx免费看| 老司机免费在线视频| 国模精品一区二区三区| 日本免费新一区视频| 老女人性淫交视频| 国产视频久久久久久久| 成人51免费| 日韩av黄色网址| 亚洲欧洲av在线| 亚洲 欧美 精品| 国产在线视频91| 国产一区91| 国模无码国产精品视频| 亚洲乱码国产乱码精品精天堂| 日韩成人一区| 亚洲国产精品久久久久爰色欲| 国产精品国产三级国产普通话三级| www.天堂在线| 国产精品久久久久久亚洲影视| 影音先锋亚洲一区| 亚洲伦理一区二区三区| 亚洲免费一级电影| 视频二区欧美| 亚洲性图一区二区|