如果标签名称中包含“。”,我如何得到一个Docker镜像的标签?
docker inspect命令对于在Docker镜像上获取标签非常有用:
# -*- Dockerfile -*- FROM busybox LABEL foo="bar" LABEL com.wherever.foo="bang"
对于简单的标签名称,inspect命令有一个很好的工具 – --format
选项(使用Go模板)。
$ docker build -t foo . $ docker inspect -f '{{ .Config.Labels.foo }}' foo bar
但是,如何访问名称中有点的标签呢?
$ docker inspect -f '{{ .Config.Labels.com.wherever.foo }}' foo <no value>
我正在写一个bash脚本,我想避免重新parsingdocker inspect
的JSON输出,如果可能的话。
index
函数是我正在寻找的。 它可以在地图中查找任意string。
$ docker inspect -f '{{ index .Config.Labels "com.wherever.foo" }}' foo bang