Поддерживает ли docker-compose ограничения размещения в docker-compose.yml - PullRequest
0 голосов
/ 20 марта 2019

в документах для compose-файла https://docs.docker.com/compose/compose-file/

Я нашел ссылку на constraints как способ указать узел в рое

deploy:
  placement:
    constraints:
      - node.role == manager
      - engine.labels.operatingsystem == ubuntu 14.04

но это не влияет на запуск с docker-compose up

вот мой докер-compose.yml

version: '3'
services:
  redis:
    image: redis
    deploy:
      placement:
        constraints:
          - node.hostname==ryabchenko-system

вот мой рой

:~$ sudo docker node ls
ID                            HOSTNAME               STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
9q4y21c0u15rqp0x10164xzm9     ryabchenko-system      Ready               Active                                  18.06.1-ce
se717p88485s22s715rdir9x2 *   speechanalytics-test   Ready               Active              Leader              18.09.3

на speechanalytics-test Я бегу

:~$ sudo docker-compose -p ra -f docker-compose.yml up

и в результате контейнер работает на speechanalytics-test, но я хочу, чтобы он был на ryabchenko-system

1 Ответ

2 голосов
/ 20 марта 2019

Ограничения размещения поддерживаются только в режиме роя. Команда docker-compose работает только на отдельных хостах, поэтому там не поддерживается. Вы должны перенести свои композитные файлы для использования роем и использовать docker stack deploy, если хотите использовать эту функцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...