Docker Swarm 之节点标签

默认情况下,多节点swarm集群中的服务会随机部署到某个节点中,如果需要将服务发布到指定节点上,就需要用到节点标签了。

一、给swarm节点添加标签

1、查看swarm集群中有哪些节点,假设节点一的名称是 nodename1,后面以此节点举例

docker node ls

2、为节点一添加 key为group,value为 g1 的标签(注:可以添加多个标签,多个标签的key不能相同)
docker node update --label-add group=g1 nodename1

3、修改节点一的标签,同添加标签的命令相同,key设置为已存在的key则是修改
docker node update --label-add group=g111 nodename1

4、查看节点标签

docker node inspect nodename1

Docker Swarm 之节点标签_第1张图片
5、删除节点标签

docker node update --label-rm group nodename1

二、将服务发布到指定节点

1、service 方式

docker service create \
  --name mynginx \
  --constraint 'node.labels.group == g1' \
  nginx

2、stack 方式(只展示关键配置)

version: '3.6'
services:
    mynginx:
         image:
         ports:
         deploy:
           placement:
              constraints:   # 添加条件约束
                - node.labels.group==g1

你可能感兴趣的:(docker)