如何使用docker-compose + docker-swarm + overlay networking发现扩展容器主机?

时间:2016-02-22 19:47:22

标签: networking docker docker-compose docker-swarm

撰写/搬运工-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

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

为了实现这一目标, 经理容器需要知道有多少工人以及主机名是什么。

我知道我可以通过使用主机" worker"来到达第一个工人容器。或" compose_worker_1"和#34; compose_worker_2"。

但是,经理如何知道有多少工人呢?

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

我是否可以使用其他轻量级方法来发现工人数量?

1 个答案:

答案 0 :(得分:0)

我会让workermanager启动后与referenced_list建立连接并准备好处理工作,作为“注册”。这样,管理者不需要知道任何事情,它只是等待工人自己注册。