docker 服务 指定机器
指定manager或者work节点
deploy:
replicas: 1
placement:
constraints:
## 常用方式指定 manager或者work节点
- node.role == worker
指定主机名
deploy:
replicas: 1
placement:
constraints:
- node.hostname == docker1
指定node标签
node label 可以给一个或多个机器打上一个标签,然后再compose文件中指定节点标签,就可以部署在打上对应标签的机器上。具体步骤如下:
现在主节点机器上对所有节点机器进行打标签操作,命令如下:
docker node update --label-add role=标签名称 主机名
例如我要对一个主机名为docker1的机器打上一个标签为db的标签
docker node update --label-add role=db docker1
deploy:
replicas: 1
placement:
constraints:
- node.labels.role == db
指定节点id
先查看node 的id,命令如下:docker node ls
deploy:
replicas: 1
placement:
constraints:
- node.id == xy4ttvg3xqbvwu4lok2xpgmrc
根据engine标签
deploy:
replicas: 1
placement:
constraints:
- engine.labels.operatingsystem==ubuntu 14.04