Chr*_*cke 7 docker docker-compose
向 docker 节点添加标签是合法且有记录的语法:
docker node update node_x --label-add "label"
Run Code Online (Sandbox Code Playgroud)
这将添加一个标签,当查询时,该标签将显示为空字符串:
$ docker node inspect docker-desktop --format '{{json .Spec.Labels}}'
{"label":""}
Run Code Online (Sandbox Code Playgroud)
但是,似乎没有有效的方法来制定此标签可以满足的放置约束。
对该问题的另一种看法是需要检查标签是否为非空白值。
例如,我可能想给两个节点一个标签:
docker node update node_x --label-add "fruit=apple"
docker node update node_y --label-add "fruit=orange"
Run Code Online (Sandbox Code Playgroud)
但是,作为放置约束,我尝试检查空白标签是否存在,但失败了。同样,虽然我可以检查节点是否是(或不是)特定的水果,但我无法成功测试它是否是[任何]水果。
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.
Run Code Online (Sandbox Code Playgroud)
那么,我是不是错过了什么?有没有某种方法可以检查标签是否已设置,而不检查特定值。有什么方法可以检查已设置但为空白值的标签吗?
| 归档时间: |
|
| 查看次数: |
573 次 |
| 最近记录: |