我正在尝试在 Docker 注册表中查找与特定映像存储库匹配的标签。
curl -X GET http://my-registry-ip-address/v2/ancean-api/tags/list\
result: {"name":"ancean-api","tags":["v1.0.0","v19.0.0","v11.1.1"]}
如何检查上面结果输出的 json 数据中是否存在 v1.0.0(example) 标签?
我试过了
curl -X GET http://my-registry-ip-address/v2/ancean-api/tags/list | jq '.tags | select(. == v1.0.19)'
jq文档 jq文档尝试使用select但失败。 无论使用哪个标签,上面的命令都会成功。
curl -X GET http://my-registry-ip-address/v2/ancean-api/tags/list | jq '.tags | .[]' | grep "v1.0.0"
我尝试将其与 grep 一起使用但失败了。
通过pms的回答,我用
IN
功能解决了问题。
curl -X GET http://my-registry-ip-address/v2/ancean-api/tags/list | jq IN'(.tags[]; "v1.0.0")'
使用
IN
,当 json 数据中有特定值时,我能够获取 bool 值。