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

问题描述

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

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

解决方法

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输出。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...