キーに "。"があるため、マップリストから値を取得するのに問題がありました。内部。
docker inspect jenkins ... Config:{ .. "Labels":{ "com.docker .compose.config-hash ":" 85bcf1e0bcd708120185a303e2a8d8e65543c1ec77ec0c6762fc057dc10320aa "、 " com.docker.compose.container-number ":" 1 "、 " com.docker.compose.oneoff ": "、 " 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.conposeer .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