如何使用docker-compose + docker-swarm + overlay联网发现缩放的容器主机?

撰写/搬运工-compose.yml

version: '2' services: worker: image: some-image manager: image: some-image environment: # number of workers - INSTANCES=5 networks: default: driver: overlay 

工人们被缩小了

 docker-compose scale worker=5 

pipe理器容器负责将工作负载分配给工作容器。

为了达到这个目的,pipe理者容器需要知道有多less工人以及主机名是什么。

我知道我可以通过使用主机“worker”或“compose_worker_1”访问第一个工作容器,使用“compose_worker_2”访问第二个容器。

但是经理应该怎么知道有多less工人呢?

我目前的解决方法是将工作人员的数量指定为环境variables,但已经运行docker-compose scale似乎很乏味。

有什么其他轻量级的方法可以用来发现工人的数量吗?

我想让worker manager在启动后与manager workerbuild立联系,并准备好处理工作,作为“注册”。 这样pipe理员不需要知道什么,只是等待工人登记。