千家信息网

如何用Label控制Service的位置

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家介绍如何用Label控制Service的位置,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。无论采用 global mode 还是 replicated mode,副
千家信息网最后更新 2026年11月01日如何用Label控制Service的位置

这篇文章给大家介绍如何用Label控制Service的位置,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

无论采用 global mode 还是 replicated mode,副本运行在哪些节点都是由 Swarm 决定的,作为用户我们有没有可能精细控制 Service 的运行位置呢?

答案是:能,使用 label。

逻辑分两步:

  1. 为每个 node 定义 label。

  2. 设置 service 运行在指定 label 的 node 上。

label 可以灵活描述 node 的属性,其形式是 key=value,用户可以任意指定,例如将 swarm-worker1 作为测试环境,为其添加 label env=test:

docker node update --label-add env=test swarm-worker1

对应的,将 swarm-worker2 作为生产环境,添加 label env=prod:

docker node update --label-add env=prod swarm-worker2

现在部署 service 到测试环境:

docker service create \      --constraint node.labels.env==test \      --replicas 3 \      --name my_web \      --publish 8080:80 \      httpd

--constraint node.labels.env==test 限制将 service 部署到 label=test 的 node,即 swarm-worker1。从部署结果看,三个副本全部都运行在 swarm-worker1 上。

可以通过 docker service inspect 查看 --constraint 的设置:

更新 service,将其迁移到生产环境:

docker service update --constraint-rm node.labels.env==test my_web  docker service update --constraint-add node.labels.env==prod my_web

删除并添加新的 constraint,设置 node.labels.env==prod,最终所有副本都迁移到了 swarm-worker2。

label 还可以跟 global 模式配合起来使用,比如只收集生产环境中容器的日志。

docker service create \       --mode global \       --constraint node.labels.env==prod \       --name logspout \       --mount type=bind,source=/var/run/docker.sock,destination=/var/run/docker.sock \       gliderlabs/logspout

只有 swarm-worker2 节点上才会运行 logspout。

关于如何用Label控制Service的位置就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

环境 运行 位置 控制 副本 生产 内容 更多 用户 节点 帮助 测试 不错 三个 兴趣 只有 可以通过 容器 小伙 小伙伴 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 云南咖啡 南京欣网互联网络科技有限公司 互联网科技公司华为 互联网科技卖菜 互联网 科技公司 以房互联网科技 迪茉互联网科技 时间互联网络科技 哈尔滨新华互联网科技 济南和联互联网科技有限公司 济南华为互联网科技产业总部基地 互联网科技实习生岗位职责 青岛科技大学互联网大赛研究生 晓花互联网科技有限公司网址 互联网公司黑科技创始人 山东有哪些互联网科技公司 唐山双旺合互联网科技产业园 互联网科技和医药行业 亚光科技低轨卫星互联网 山东亿川互联网科技有限责任公司 科技企业和互联网企业 互联网为科技 深圳天众互联网科技公司 天下捷融互联网科技 甘肃拓世互联网科技有限公司 厦门比较好的科技互联网公司 互联网科技大奖都有哪些公司 互联网领先科技宣传片 艺电能源互联网科技有限公司招聘 科技互联网经济论坛
0