一尘不染

如果标签名称带有“。”,如何获取Docker映像的标签。在里面?

go

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脚本编写此文件docker inspect,如果可能的话,我希望避免在其中重新解析JSON输出。


阅读 170

收藏
2020-07-02

共1个答案

一尘不染

index功能是我想要的。它可以在映射中查找任意字符串。

$ docker inspect -f '{{ index .Config.Labels "com.wherever.foo" }}' foo
bang
2020-07-02