docker swarm如何在指定的node上运行指定的容器
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,描述问题比如我们有worker1,worker2,worker3三个docker host另外加一个manager1(它是swarm的master)来管理它们。如果在manager1上直接docker
千家信息网最后更新 2025年12月03日docker swarm如何在指定的node上运行指定的容器
描述问题
比如我们有worker1,worker2,worker3三个docker host另外加一个manager1(它是swarm的master)来管理它们。
如果在manager1上直接docker service create某一个容器的话,比如nginx容器,那么master会来决定挑哪一个node作为nginx容器的运行的host。
如果我要nginx容器只跑在worker1上面的话,应该怎么办呢?
解决方案
简单来说就是给每一个node打标签。
docker node update --label-add func=nginx worker1
上面这句话的意思是master给worker1的docker打上了功能是nginx的标签。func和nginx是你可以自己定的键值对。
然后在运行docker service create 的时候,指定-constraint参数即可
docker service create --name my_nginx --constraint 'node.labels.func == nginx' nginx
这样nginx的容器就会在worker1上启动,而不会在其他node上启动了。
补充
我的好奇心让我使了一个坏。我把worker1打上func=nginx的标签后,在docker service create的constraint参数上故意写成node.labels.func == nginx111。
这个时候用docker service ls和docker service ps nginx都可以看到service已经注册了,但是它的CURRENT STATE显示Pending , 并且也没有任何分配到node。
我不停止这个service,然后直接把worker2的标签写为nginx111,奇迹般地,在worker2上就自己启动了nginx的容器。master还是很智能的。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
容器
标签
运行
参数
就是
时候
好奇
三个
内容
功能
奇迹
好奇心
怎么办
意思
我要
方案
智能
解决方案
还是
这句话
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
航天软件开发口号 段子
网络安全教育的班会成效
八公山区国家网络安全宣传周活动
做软件开发如何成为业务专家
丢失 dnf 恢复数据库
高性能游戏服务器
供应链管理系统软件开发价格
学生党支部网络安全宣传周
公司增加服务器安全吗
服务器放在台湾安全吗
哪个不是数据库的相关术语
linux服务器镜像文件
数据库添加一列有下划线
离石区乡村振兴数据库
网络安全是什么在组成部分
郑州天健湖网络安全中心位置
网络技术相关教程
mysql指定数据库语句
海口电商系统软件开发
日本的网络安全现状英语作文
开软件开发公司能赚多少
边缘侧环境服务器
数据库外建的作用以及怎么实现的
软件开发每天的报价是多少
云服务器挖monero
网络安全是九月第几周
局域网邮件服务器 邮件转发
桦甸市天气预报软件开发
如何建立专利数据库
宁夏自然资源厅网络安全培训