会员登录 - 用户注册 - 设为首页 - 加入收藏 - 网站地图 为你的docker容器增加一个健康检查机制!!

为你的docker容器增加一个健康检查机制!

时间:2025-11-04 23:21:22 来源:益强数据堂 作者:系统运维 阅读:342次

  在分布式系统中,容器经常需要利用健康检查机制来检查服务的增加制可用性,防止其他服务调用时出现异常。个健自 1.12 版本之后,康检Docker 引入了原生的WordPress模板查机健康检查实现。

  如何给Docke配置原生健康检查能力,容器在写dockerfile的增加制时候,通过HEALTHCHECK指令就可以了

为你的docker容器增加一个健康检查机制!

  dockerfile如下:

FROM nginx:1.13 ADD test.sh /opt/test.sh HEALTHCHECK --interval=10s --timeout=3s --retries=3 CMD /bin/bash /opt/test.sh

  脚本如下:

vi /opt/test.sh #!/bin/bash cat /var/run/nginx.pid if [ $?个健 == 0 ];then echo 0 exit 0 else echo 1 exit 1 fi

  指令分析:

  HEALTHCHECK --interval=10s --timeout=3s --retries=3 CMD /bin/bash /opt/test.sh

  --interval 代表间隔,亿华云计算每隔10秒执行一次脚本

  --timeout 脚本执行超时时间

  --retries 脚本失败次数,康检3次失败,查机即30秒之后,容器标记容器为unhealthy

增加制

  服务正常启动案例:

增加制[root@k8s-node-1 opt]# docker run -d 10.0.0.11:5000/nginx:1.13.1 be97b9980431d326d9b745ec3f605c227caa085d50529926d27562ae1e339e39 [root@k8s-node-1 opt]# docker ps -a -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES be97b9980431 10.0.0.11:5000/nginx:1.13.1 "nginx -g daemon off" 4 seconds ago Up 3 seconds (health: starting) 80/tcp pensive_chandrasekhar [root@k8s-node-1 opt]# docker ps -a -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES be97b9980431 10.0.0.11:5000/nginx:1.13.1 "nginx -g daemon off" 11 seconds ago Up 10 seconds (healthy) 80/tcp pensive_chandrasekhar

  服务不正常启动案例:

增加制[root@k8s-node-1 opt]# docker run -d 10.0.0.11:5000/nginx:1.13.1 tail -f /etc/hosts b3b0b5a280930e40753da6174f22fd014510715c8757ad43928c2833a40a516d [root@k8s-node-1 opt]# docker ps -a -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b3b0b5a28093 10.0.0.11:5000/nginx:1.13.1 "tail -f /etc/hosts" 38 seconds ago Up 38 seconds (unhealthy) 80/tcp furious_poincare

  容器死掉自动重启案例:

增加制[root@k8s-node-1 opt]# docker run --restart=always -d 10.0.0.11:5000/nginx:1.13.1 sleep 40 fd1017e1ce4f063e4110689ae476f2307ab0d6ce23286f64b102a949b58f657a [root@k8s-node-1 ~]# docker ps -a -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES fd1017e1ce4f 10.0.0.11:5000/nginx:1.13.1 "sleep 40" 33 seconds ago Up 32 seconds (unhealthy) 80/tcp tiny_mccarthy [root@k8s-node-1 ~]# docker ps -a -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES fd1017e1ce4f 10.0.0.11:5000/nginx:1.13.1 "sleep 40" 56 seconds ago Up 14 seconds (health: starting) 80/tcp tiny_mccarthy

(责任编辑:IT科技)

推荐内容
  • X99装机教程(选择X99主板,为你的装机之路带来巅峰体验)
  • 台式电脑扩容教程(轻松学会如何给你的台式电脑扩容)
  • 荣耀6PlusB200的性能及用户体验评测(荣耀6PlusB200手机性能全面升级,用户体验更加畅快流畅)
  • 电脑系统时间错误的原因与解决方法(电脑启动后时间显示错误的常见问题及解决方案)
  • 解决以电脑联网错误651的有效方法(摆脱网络连接问题,享受顺畅网络体验)
  • 小天才电脑root教程(轻松掌握root技巧,发挥电脑无限可能)