从 docker 检查中获取标签值
get label value from docker inspect
由于键有“.”,我无法从地图列表中获取值。里面。
docker inspect jenkins
Config: {
..
"Labels": {
"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 inspect -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>
您可以将 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
您可以使用 index
获取该键的值(为便于阅读而包装);
docker inspect \
--format '{{ index .Config.Labels "com.docker.compose.project"}}' \
new_sc2_1
那应该给你项目的名字
由于键有“.”,我无法从地图列表中获取值。里面。
docker inspect jenkins
Config: {
..
"Labels": {
"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 inspect -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>
您可以将 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
您可以使用 index
获取该键的值(为便于阅读而包装);
docker inspect \
--format '{{ index .Config.Labels "com.docker.compose.project"}}' \
new_sc2_1
那应该给你项目的名字