在撰写文件https://docs.docker.com/compose/compose-file/的文档中
我发现引用constraints
作为在swarm中指定节点的方法
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
上
仅在群模式下支持放置约束。 docker-compose
命令仅适用于单个主机,因此不支持。如果要使用该功能,则必须迁移用于群体使用的撰写文件并使用docker stack deploy
。