2016-02-22 10 views
3

Сотроза/Докер-compose.ymlКак открыть масштабированные контейнеры с помощью docker-compose + docker-swarm + overlay networking?

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 

Контейнер менеджера отвечает за распределение нагрузки на рабочих контейнеры.

Для этого контейнер менеджера должен знать, сколько рабочих есть и что такое имена хостов.

Я знаю, что могу добраться до первого рабочего контейнера, используя хост, «рабочий» или «compose_worker_1», а второй контейнер - «compose_worker_2».

Но как менеджер должен знать, сколько рабочих есть?

Мое текущее обходное решение - указать количество рабочих как переменную среды, но кажется утомительным, уже запустив docker-compose scale.

Есть ли какой-либо другой легкий метод, который я могу использовать для обнаружения числа рабочих?

ответ

0

Я бы получил сообщение worker, обратившись к manager после его запуска и готов к работе, как к «регистрации». Таким образом, ясене не нужно ничего о чем-то знать, он просто ждет, чтобы рабочие зарегистрировались.

Смежные вопросы