假设我们有一个在docker容器中运行的微服务。
现在,要启动此服务,它使用装载在主机卷上的缓存,该主机卷由同一微服务的所有其他docker映像共享。要在应用程序中构建此缓存,需要10分钟,然后应用程序准备好为请求提供服务。
但是这个场景失败了,当我们要扩展和缩小时,假设我正在扩展容器将可用,但它仍然不是完全扩展,因为我们需要等待建立缓存。
你建议如何处理这种情况。
在这个docker服务的前面,我们计划引入Nginx来对请求进行负载均衡。
提前感谢
发布于 2020-08-28 17:13:10
如果我没理解错的话,您想知道您的容器什么时候完全启动并运行。一种选择可能是Health Check。此功能是在Docker 1.12中添加的。
描述(来自Docker Docs):
健康检查将首先在容器启动后间隔数秒运行,然后在每次检查完成后再次间隔数秒。
如果单次运行检查花费的时间超过超时秒数,则认为检查失败。
健康检查连续重试失败后,容器才会被视为unhealthy。在这里您可以指定运行任何命令来检查您的服务器状态。
可以使用inspect-command检查容器的运行状况
docker inspect --format='{{json .State.Health}}' <container-id>此功能还会将“(健康)”-information添加到docker ps中的状态。
https://stackoverflow.com/questions/63630522
复制相似问题