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 模式,才会帮你重启应用。