docker - Docker 放置约束测试空白/任何标签
问题描述
将标签添加到 docker 节点是合法且有记录的语法:
docker node update node_x --label-add "label"
这将添加一个标签,在查询时将显示为空字符串:
$ docker node inspect docker-desktop --format '{{json .Spec.Labels}}'
{"label":""}
但是,似乎没有有效的方法来制作可以由该标签满足的放置约束。
对这个问题的不同看法是需要检查标签是否为非空白值。
例如,我可能想给两个节点一个标签:
docker node update node_x --label-add "fruit=apple"
docker node update node_y --label-add "fruit=orange"
version: "3.9"
services:
test:
image: alpine
deploy:
placement:
constraints:
- node.labels.label # == or != expected
- node.labels.label=="" # "" unexpected / '' unexpected.
- node.labels.fruit!="" # "" unexpected / '' unexpected.
那么,我错过了什么吗?是否有某种方法可以检查是否设置了标签,而不检查特定值。有没有办法检查设置的标签,但为空白值?
解决方案
推荐阅读
- oracle - 检测,当 Oracle 服务器停止成为“PRIMARY”时
- html - 无法使 prefers-color-scheme html 媒体属性起作用
- javascript - 未捕获的类型错误:无法读取未定义的属性“电子邮件” - ReactJS
- html - 如何在div下垂直对齐h3文本?
- c# - WPF路径几何意外标记
- android - 为线条列表制作动画 android canvas
- google-sheets - 在 Google 表格中使用 ArrayFormula 连接非空白列的标题
- javascript - 根据javascript中的当前时间按时间对象对数组进行排序
- java - 单独重试 itemwriter 和 itemprocessor 重用 - Spring批处理错误处理
- mysql - 在 MySQL 中按每 n 行分组