docker-compose是否支持docker-compose.yml中的放置约束

时间:2019-03-20 15:52:13

标签: docker docker-compose

在文档中

撰写文件 https://docs.docker.com/compose/compose-file/

我发现对constraints的引用是在群体中指定节点的方式

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

但不会影响使用docker-compose up

的启动

这是我的docker-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 个答案:

答案 0 :(得分:2)

仅在群体模式下支持放置约束。 docker-compose命令仅在单个主机上起作用,因此在那里不被支持。您必须迁移撰写文件以供大量使用,如果要使用该功能,请使用docker stack deploy