温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

docker swarm集群中如何指定容器部署节点

发布时间:2021-10-20 18:42:03 来源:亿速云 阅读:2401 作者:柒染 栏目:大数据

这篇文章给大家介绍docker swarm集群中如何指定容器部署节点,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

在docker swarm 集群中,通常默认随机部署容器到各个节点上。但是,有时在部署中总会遇到,一些服务要指定在特殊的机器上。

如果碰到这种情况,我们可以利用docker-compose.yml文件中的deploy.placement.constraints属性

1.  指定manager或者work节点

deploy:
  replicas: 1
     placement:
        constraints:
          ## 常用方式指定 manager或者work节点
          - node.role == worker

2. 指定主机名

deploy:
  replicas: 1
     placement:
        constraints:
          - node.hostname == docker1

 3. 指定node标签

node label 可以给一个或多个机器打上一个标签,然后再compose文件中指定节点标签,就可以部署在打上对应标签的机器上。具体步骤如下:

现在主节点机器上对所有节点机器进行打标签操作,命令如下:

docker node update --label-add role=标签名称  主机名

例如我要对一个主机名为docker1的机器打上一个标签为db的标签
docker node update --label-add role=db  docker1

 然后,配置compose文件

deploy:
  replicas: 1
     placement:
        constraints:
          - node.labels.role == db

删除node标签的命令

docker node update --label-rm role 标签名称

4. 指定节点id

先查看node 的id,命令如下:

docker node ls

如图:

docker swarm集群中如何指定容器部署节点

deploy:
  replicas: 1
     placement:
        constraints:
          - node.id == xy4ttvg3xqbvwu4lok2xpgmrc

5. 根据engine标签

deploy:
  replicas: 1
     placement:
        constraints:
          - engine.labels.operatingsystem==ubuntu 14.04

关于docker swarm集群中如何指定容器部署节点就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI