1

我已经设置了一个 docker swarm 配置,它启动了一个复制 x 次的 java webserver 映像。现在,服务器需要时间来启动(大约 40 秒),而容器本身会快速启动。

问题是,docker一启动就开始路由到容器,不知道容器内的服务是否准备好为请求提供服务,在我的情况下不是立即

配置 docker swarm 的惯用方法是什么,它只路由到服务器接受请求的容器?

4

1 回答 1

1

所以有一个用于 compose 文件部署的 healthcheck 部分,可以用来确保容器是否健康。

healthcheck:
  test: ["CMD", "curl", "-f", "http://localhost:3482/monitoring/health"]
  interval: 10s
  timeout: 5s
  retries: 3
  start_period: 1m

这将执行此操作,并确保如果 health api 返回有效响应,将首先使用容器。

于 2020-07-09T19:33:07.073 回答