如何在docker compose中使用healthcheck重新启动容器?

如何在docker compose中使用healthcheck重新启动容器?,docker,docker-compose,Docker,Docker Compose,当curl调用API失败时,如何重新启动服务器的docker容器? 我准备了这样的docker-compose.yml文件 server: build: server command: - run healthcheck: test: ["CMD-SHELL", "curl -f http://localhost/ && echo 'cool, it works'"] interval: 5s timeout: 5s re

当curl调用API失败时,如何重新启动服务器的docker容器? 我准备了这样的docker-compose.yml文件

server:   
  build: server
  command:
    - run
  healthcheck:
    test: ["CMD-SHELL", "curl -f http://localhost/ && echo 'cool, it works'"]
    interval: 5s
    timeout: 5s
    retries: 3

谢谢

Healthcheck仅由docker引擎显示,没有包含在该级别处理失败的Healthcheck的方法。您可以在引擎之外运行一些东西来检查healthcheck并重新启动

但是,最好的选择是切换到swarm模式,运行支持healthcheck的容器,并在healthcheck失败时重新启动容器