精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

欧美一级做a| 亚洲s色大片| 香蕉久久a毛片| 中文字幕精品一区二区精品| 一区二区久久精品| av日韩国产| 国产欧美精品一区二区色综合| 91精品视频在线免费观看| 国产成人在线观看网站| 成人在线丰满少妇av| 91精品麻豆日日躁夜夜躁| 国产精品久久久影院| 欧美777四色影视在线| 韩国av一区二区| 2019av中文字幕| 51精品免费网站| 久久97视频| 欧美成人a在线| 黄色片视频在线| 男女羞羞在线观看| 亚洲精品乱码久久久久久 | 国产福利第一视频| 视频一区二区三区入口| 久久久免费观看| 日本裸体美女视频| 欧美美乳视频| 亚洲精品mp4| 亚洲av综合色区无码另类小说| 国产亚洲精品精品国产亚洲综合| 欧美色另类天堂2015| 久久亚洲国产成人精品无码区 | 国产成人无码一二三区视频| www.se五月| 亚洲美女炮图| 亚洲国产视频一区| 亚洲精品tv| 久久综合色鬼综合色| 91丝袜脚交足在线播放| 中文字幕一区二区久久人妻| 亚洲伊人观看| 97国产在线观看| 久久精品www| 欧美影视一区| 久久久精品视频成人| 国产又粗又硬视频| 欧美精品系列| 国产亚洲福利一区| 人人人妻人人澡人人爽欧美一区| 亚洲三级精品| 国产性色av一区二区| 欧美大波大乳巨大乳| 女人av一区| 亚洲摸下面视频| 丰满少妇高潮一区二区| 日韩超碰人人爽人人做人人添| 亚洲国产91精品在线观看| 日韩大尺度视频| 福利电影一区| 亚洲国产精品字幕| 国产精品一区二区入口九绯色| 欧美wwwsss9999| 日韩激情第一页| 中文字幕丰满孑伦无码专区| 美女毛片一区二区三区四区最新中文字幕亚洲 | 国产一区二区三区视频在线播放| 91精品国产综合久久男男| 97精品人妻一区二区三区香蕉| 国产原创一区二区| 国产精品区免费视频| 国产成人三级在线观看视频| aaa欧美日韩| 欧美一级片免费观看| aaa在线免费观看| 亚洲女同一区二区| 亚洲国产精品无码av| 日韩欧美一中文字暮专区| 色美美综合视频| 亚洲精品综合在线观看| 欧美成人精品午夜一区二区| 亚洲成人久久网| 色一情一交一乱一区二区三区| 99视频精品全部免费在线视频| 欧美成人午夜剧场免费观看| 欧美亚韩一区二区三区| 日韩精品亚洲专区| 亚洲va电影大全| 午夜国产在线观看| 日本一区二区三区在线不卡| av久久久久久| 成人影院网站| 日韩一区二区在线观看视频播放| 在线黄色免费网站| 日韩啪啪电影网| 久久久久久久久综合| 波多野结衣一区二区三区在线| 激情综合色综合久久| 国产精品手机在线| 亚洲麻豆精品| 欧美午夜久久久| 亚洲理论中文字幕| 你微笑时很美电视剧整集高清不卡 | 色综合天天狠狠| 91丨porny丨九色| 免费成人网www| 欧美美女操人视频| 成人小视频在线播放| 国产成人一区在线| 视频一区二区综合| av影片在线| 91精品在线免费| 特级西西www444人体聚色 | xxxx国产精品| 欧美激情一区三区| 欧美啪啪免费视频| 精品国产亚洲一区二区三区在线| 亚洲精品永久免费精品| 欧美另类视频在线观看| 蜜桃久久精品一区二区| 精品乱码一区二区三区| 九色porny在线| 91久久线看在观草草青青| 欧美xxxx×黑人性爽| 亚洲乱码免费伦视频| 国产精选久久久久久| 欧美香蕉爽爽人人爽| 亚洲成人福利片| 日本成人在线免费观看| 天天做天天爱天天综合网2021| 日韩暖暖在线视频| 色视频在线观看福利| 亚洲成人av电影| 极品白嫩的小少妇| 午夜日韩av| 亚洲一区精品电影| 麻豆传媒视频在线观看免费| 欧美丝袜丝nylons| 国产又大又粗又爽的毛片| 香蕉久久久久久久av网站| 久久精品五月婷婷| 亚洲国产福利| 亚洲欧美国产精品久久久久久久 | 欧美xxx黑人xxx水蜜桃| 日韩一区二区三区免费观看| av最新在线观看| 精品一区二区三区日韩| 日本成人性视频| 国产精品麻豆| 蜜月aⅴ免费一区二区三区| 97人妻一区二区精品免费视频| 国产精品白丝在线| 制服丝袜中文字幕第一页| 婷婷久久一区| 亚洲一区二区三区777| 在线观看免费视频你懂的| 91精品中文字幕一区二区三区| www.xxxx日本| 国产成人在线色| 久久久久久人妻一区二区三区| 国产精品白浆| 欧美中文字幕第一页| 久草在现在线| 欧美日韩午夜影院| 午夜剧场免费在线观看| 国产成人在线免费观看| 大j8黑人w巨大888a片| 亚洲成人一品| 国产精品亚洲网站| 中文av资源在线| 日韩av网址在线| 无码人妻黑人中文字幕| 欧美国产日韩一二三区| 91aaa精品| 亚洲美女一区| 手机在线观看国产精品| 欧美特黄不卡| 91成人在线观看国产| 阿v免费在线观看| 欧美一卡二卡三卡| 日本五十路女优| 国产日韩欧美不卡在线| 99国产精品久久久久久| 亚洲国产一区二区精品专区| 欧美另类高清视频在线| 99精品美女视频在线观看热舞| 久久久久久久色| 国家队第一季免费高清在线观看| 欧美一区二区在线视频| 国产a∨精品一区二区三区仙踪林| 欧美国产日本韩| 男男受被啪到高潮自述| 美女久久一区| 久久人妻无码一区二区| 国产精品亚洲人成在99www| 91免费综合在线| 筱崎爱全乳无删减在线观看| 久久亚洲欧美日韩精品专区| 偷拍自拍在线视频| 欧美一区二区三区免费大片| 伊人中文字幕在线观看 | 九一国产在线观看| 亚洲视频一区在线| 蜜桃传媒一区二区亚洲| 国v精品久久久网| av在线网址导航| 亚洲在线成人| 18黄暴禁片在线观看| 久久国产成人午夜av影院宅| 精品高清视频| 亚洲国产aⅴ精品一区二区| 国产99视频精品免视看7| 麻豆蜜桃在线| 久久精品国产成人| 国产九色在线| 精品爽片免费看久久| 99久久精品国产一区色| 欧美亚洲国产一卡| 中文在线第一页| 午夜日韩在线观看| 久久伊人成人网| 综合久久久久久| 波多野结衣一二三四区| 91麻豆国产自产在线观看| 69xxx免费视频| 韩国v欧美v日本v亚洲v| 自拍偷拍一区二区三区四区| 欧美中文日韩| 国产特级黄色大片| 99热这里只有成人精品国产| 国产欧美精品aaaaaa片| 午夜精品电影| 久久久久久久免费视频| 国产精品国产一区| 亚洲一区二区精品在线| heyzo久久| 日韩精品一区二区三区四区五区 | 国产成人在线视频网站| 免费欧美一级片| 国产在线精品一区二区不卡了| 亚洲 激情 在线| 欧美aaa在线| 91最新在线观看| 久久久精品五月天| 乱子伦视频在线看| 日韩黄色免费网站| 91av俱乐部| 青青草原综合久久大伊人精品优势| 一本久道中文无码字幕av| 三级影片在线观看欧美日韩一区二区 | 男人天堂亚洲天堂| 欧美激情一区二区三区在线视频观看 | 99精品美女| 强伦女教师2:伦理在线观看| 久久久国产精品| 日本中文字幕一级片| 黄色成人在线网站| 欧美日韩在线一| 日韩精品一区第一页| 中文字幕国内自拍| 精品亚洲国产成人av制服丝袜| 不卡中文字幕在线观看| 国产成人在线观看| 中文字幕日韩三级片| 国产丝袜欧美中文另类| 日本不卡一区视频| 亚洲麻豆国产自偷在线| 日本在线观看视频网站| 色综合天天视频在线观看| 亚洲无码久久久久| 欧美电视剧在线看免费| 婷婷av一区二区三区| 亚洲人精品午夜在线观看| 免费黄色网页在线观看| 欧美激情免费观看| 一区一区三区| 成人精品福利视频| 97精品久久| 日本高清不卡三区| 亚洲在线久久| 日日碰狠狠添天天爽超碰97| 日韩和欧美一区二区| 下面一进一出好爽视频| 久久蜜臀精品av| 欧美成人777| 色哟哟国产精品免费观看| 国产口爆吞精一区二区| 亚洲第一级黄色片| 在线观看av的网站| 欧美精品videofree1080p| 国产精品久久久久av电视剧| 亚洲一区二区三区在线视频| 一个色免费成人影院| 欧美做受777cos| 石原莉奈在线亚洲三区| wwwww在线观看| 国产精品看片你懂得 | 欧美特级限制片免费在线观看| 国产黄色av片| 伊人亚洲福利一区二区三区| 免费av不卡在线观看| 国产精品吴梦梦| 婷婷精品在线观看| 国产成人免费高清视频| 日韩经典一区二区| 国产精品伦子伦| 亚洲蜜臀av乱码久久精品蜜桃| 精品人妻一区二区三区潮喷在线 | 国产有码在线| 欧美精品激情在线观看| 国产亚洲精彩久久| 欧美重口乱码一区二区| 一区精品久久| 波多野结衣免费观看| 国产女主播一区| 亚洲天堂视频网站| 日韩欧美成人激情| 美女黄视频在线观看| 国产91在线视频| 亚洲素人在线| av之家在线观看| 岛国一区二区三区| 欧美另类视频在线观看| 777午夜精品视频在线播放| 青青久草在线| 97在线观看免费| 粉嫩av一区二区| 男女激情免费视频| 国产一区二区日韩精品| 国产探花在线视频| 欧美三级资源在线| av在线收看| 国产精品久久久久久久久久小说| 日韩精品导航| 18禁免费观看网站| 99视频一区二区| 99久在线精品99re8热| 欧美精品一区二区不卡| av成人福利| 国产一区二区在线网站| 激情亚洲成人| 国产午夜在线一区二区三区| 亚洲一区二三区| 黄色av小说在线观看| 国内精品400部情侣激情| 盗摄牛牛av影视一区二区| 欧日韩免费视频| www.色精品| 日本中文在线播放| 亚洲女人被黑人巨大进入| 久久爱91午夜羞羞| 日本一区二区三不卡| 免费人成精品欧美精品| 黄色av免费播放| 欧美精品久久一区二区三区| 老司机在线永久免费观看| 92国产精品久久久久首页| 欧美日韩少妇| 亚洲天堂成人av| 91成人在线精品| 伊人在线视频| 高清不卡日本v二区在线| 亚洲高清二区| 国产精品高清无码在线观看| 欧美在线观看视频在线| 香蕉视频网站在线观看| 91精品国产高清久久久久久91裸体| 欧美日本一区二区视频在线观看| 2一3sex性hd| 欧美综合在线视频| 免费av毛片在线看| 国产欧美一区二区在线播放| 久久久久看片| 在线看的片片片免费| 亚洲激情视频在线播放| 深夜在线视频| 亚洲一区二区三区四区中文| 国产成人精品亚洲777人妖 | 欧美一级黄色录像| 高潮在线视频| 亚洲视频在线二区| 国产91丝袜在线18| 免费看日批视频| 久久国产精品偷| 三级小说欧洲区亚洲区| 天天干天天爽天天射| 一区二区三区四区在线免费观看| 少妇性bbb搡bbb爽爽爽欧美| 国产欧美日韩视频| 99精品久久| 欧美爱爱免费视频| 亚洲精品一区二区三区婷婷月| 成人激情久久| 成人免费观看毛片| 一区二区在线观看免费| 你懂的在线免费观看| 亚洲自拍小视频免费观看| 快she精品国产999| 久久久久久久久久综合| 中文字幕亚洲一区二区三区五十路 | 182在线视频观看| 中文字幕一区二区三区精彩视频|