Swarm中的Docker任务能否知道实例数或实例总数?

Swarm中的Docker任务能否知道实例数或实例总数?,docker,docker-swarm,Docker,Docker Swarm,Docker任务是否可能知道某个特定服务的任务编号以及运行的总任务数 例如,我希望在作业队列中的不同范围内提供服务。任何一个服务实例(即任务)所处理的作业范围取决于任务总数和当前任务。因此,如果它是20个任务中的第5个,那么它将在一个工作范围内工作,但是如果它是20个任务中的第12个,它将在不同的范围内工作 我希望有一个DOCKER\u SERVICE\u TASK\u NUMBER环境变量或类似的东西 谢谢 我已经看过几次这样的请求,所以你并不孤单,但这不是docker swarm模式的当前功

Docker任务是否可能知道某个特定服务的任务编号以及运行的总任务数

例如,我希望在作业队列中的不同范围内提供服务。任何一个服务实例(即任务)所处理的作业范围取决于任务总数和当前任务。因此,如果它是20个任务中的第5个,那么它将在一个工作范围内工作,但是如果它是20个任务中的第12个,它将在不同的范围内工作

我希望有一个DOCKER\u SERVICE\u TASK\u NUMBER环境变量或类似的东西


谢谢

我已经看过几次这样的请求,所以你并不孤单,但这不是docker swarm模式的当前功能。实现这一点非常重要,因为需要支持扩展服务以及对swarm服务的其他更新。如果您缩小服务规模,docker清理任务2(共5个),因为它位于最繁忙的节点上,那么您将处于一种奇怪的情况,即开始计数小于当前计数,并且当前编号方案中存在漏洞

如果您有这个需求,那么像Concur或etcd这样的外部服务发现工具可能会很有用。您还可以尝试利用容器中可用的
任务。$service\u name
DNS条目实现自己的解决方案。这为您提供了提供此服务的所有其他容器的IP,就像在swarm模式VIP将其抽象出来之前使用循环负载平衡器一样