如果您需要将某个服务部署在指定的节点上,可以使用 constraint 关键字来实现这个功能。
Note
部署约束只对新创建容器生效,对老容器变更配置时不起作用。
在下面的示例中,服务指定部署在 node1 上。
web:
image: 'nginx:latest'
restart: always
environment:
- 'constraint:aliyun.node_index==1'
ports:
- 80
labels:
aliyun.scale: 2
容器服务支持以下表达式:
表达式 | 说明 |
constraint:aliyun.node_index==1 | 指定部署到 node1。 |
constraint:aliyun.node_index!=1 | 不部署到 node1。 |
constraint:aliyun.node_index==(1|2|3) | 指定部署到 node1 或者 node2 或者 node3。 |
constraint:aliyun.node_index!=(1|2|3) | 部署到除 node1、node2、node3 的其他机器上。 |
affinity:image==~redis | 尽量部署到有 Redis 镜像的机器上。支持填写镜像全称,如 registry.cn-hangzhou.aliyuncs.com/xxx/xxx。 |
affinity:service!=~redis | 尽量不部署到有 Redis 服务的机器上。参见服务部署约束(affinity:service)。 |
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。