2017-01-22 7 views
5

Я знаю, что сборщик докеров с док-роем (который теперь является устаревшим) способен совместно назначать некоторые службы на одном узле (используя фильтры зависимостей, такие как ссылки)Разверните стек докера на одном узле (совместно планируйте такие контейнеры, как докерный рой)

мне было интересно, если этот вид совместного планирования возможно с использованием современного режима роя докера двигателя и развертывания нового стека, введенное в Докер 1.13

в Докер-Compose версии файла 3, ссылки как говорят, игнорируются при развертывании стека в рое, поэтому очевидно, что ссылки не являются решением.

У нас есть группа серверов для запуска коротких коротких заданий, а сеть между ними не очень высокая. Мы хотим запустить каждое пакетное задание (которое состоит из нескольких контейнеров) на одном сервере, чтобы избежать сетевых накладных расходов. Является ли эта функция реализована в режиме докерного стека или в режиме докеров, или мы должны использовать старый докер-рой?

Кроме того, я не мог найти совместное планирование с другим контейнером в политике размещения.

ответ

-1

Вы все еще можете использовать depends_on

Это стоит иметь взгляд на dockerize тоже.

+0

зависит и начало dockerize содержит в упорядоченной последовательности, но не заставить их работать на одном узле. –

1

@Roman: Вы правы.

Чтобы развернуть к конкретному узлу, необходимо использовать политику размещения:

version: '3' 
services: 

    job1: 
    image: example/job1 
    deploy: 
     placement: 
     node.hostname: node-1 
    networks: 
     - example 

    job2: 
    image: example/job2 
    deploy: 
     placement: 
     node.hostname: node-1 
    networks: 
     - example 

networks: 
    example: 
    driver: overlay 
+0

Я не хотел запускать контейнеры на определенном узле. Я хотел убедиться, что два контейнера будут работать на том же узле, который является более абстрактным. –