docker-compose healthcheck 检查tcp端口是否通

version: '3.6'

services:
  my-service:
    image: my-service
    restart: always
    healthcheck:
      test: ["CMD-SHELL", "curl -sS 127.0.0.1:8085 || exit 1"]
      interval: 1m30s
      timeout: 10s
      retries: 3
      start_period: 40s   

curl -sS 会做静默测试,并且会在遇到错误日打印错误

这里说下docker的healthcheck的一个肯,之前搭建一个单机的docker,然后部署的docker-compose应用,使用docker-compose up -d来启动应用的。结果费了半天劲,能检测到 状态是不健康了,但是容器并没有被重启,只是标记了个unhealth。

查了半天资料,大概意思是 ,确实他只会帮你标记为不健康,必须要启动 docker swarm 模式,才会帮你重启应用。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Scroll to Top