从docker检查标签值检查
由于密钥有“。”,导致我从地图列表中获取值。 内。
docker检查jenkins ... configuration:{ .. “标签”: { “com.docker.compose.config-hash”:“85bcf1e0bcd708120185a303e2a8d8e65543c1ec77ec0c6762fc057dc10320aa”, “com.docker.compose.container-number”:“1”, “com.docker.compose.oneoff”:“False”, “com.docker.compose.project”:“new”, “com.docker.compose.service”:“sc2”, “com.docker.compose.version”:“1.5.2” } } }
我可以得到地图列表
docker检查-f {{.Config.Labels}} new_sc2_1 map [com.docker.compose.config-hash:85bcf1e0bcd708120185a303e2a8d8e65543c1ec77ec0c6762fc057dc10320aa com.docker.compose.container-number:1 com.docker.compose.oneoff:False com.docker.compose.project:new com.docker.compose.service: sc2 com.docker.compose.version:1.5.2]
但是,我怎样才能从关键com.docker.compose.project
new
的项目名称
docker inspect -f {{.Config.Labels.com.docker.compose.project}} new_sc2_1 <no value>
您可以使用index
来获取该键的值(包装为了可读性);
docker inspect \ --format "{{ index .Config.Labels \"com.docker.compose.project\"}}" \ new_sc2_1
这应该给你的项目的名称
您可以将docker inspect
的输出传递给jq
。 给定像这样的内容:
... "Labels": { "com.docker.compose.config-hash": "a804d541a5828f4aaf17df862b650e58ac5bae77b70ff5ebdb2f0f3682326954", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "postgis", "com.docker.compose.service": "postgis", "com.docker.compose.version": "1.7.0rc1" } ...
我可以像这样提取一个单独的标签值:
docker inspect mycontainer | jq -r '.[0].Config.Labels["com.docker.compose.project"]'
哪个让我:
postgis