在放大和缩小的同时控制Docker映像

问题描述

可以说我们有一个在docker容器中运行的微服务。

现在要启动此服务,它使用安装在主机卷上的高速缓存,该高速缓存将被所有人共享 同一微服务的其他docker镜像。要在应用程序中构建此缓存,需要10分钟,然后应用程序就可以准备处理请求了。

但是当我们按比例放大和缩小时,这种情况会失败, 可以说我正在扩大容器,但它仍然没有完全用完,因为我们需要等待 建立缓存。

您建议如何处理这种情况。

并且以这种docker服务的字体,我们计划带Nginx来平衡请求的负载

预先感谢

解决方法

如果我理解正确,那么您想知道何时容器已完全启动并运行。一种选择可以是Health Check。此功能是 Docker 1.12 中添加的。

说明(来自Docker Docs):

运行状况检查将在容器启动后先运行 interval 秒,然后在每次之前的检查完成后再 interval 秒。

如果单次检查花费的时间超过超时秒,则认为检查失败。

需要连续重试连续失败的运行状况检查,才能将容器视为unhealthy。 您可以在此处指定运行任何命令来检查服务器状态。

可以使用inspect-命令检查容器的健康状况

docker inspect --format='{{json .State.Health}}' <container-id>

此功能还将“(健康)” 信息添加到docker ps中的状态。