lee*_*777 19 templates go docker
docker inspect命令对于获取Docker镜像上的标签非常有用:
# -*- Dockerfile -*-
FROM busybox
LABEL foo="bar"
LABEL com.wherever.foo="bang"
Run Code Online (Sandbox Code Playgroud)
对于简单的标签名称,inspect命令有一个--format选项(使用Go模板)可以很好地工作.
$ docker build -t foo .
$ docker inspect -f '{{ .Config.Labels.foo }}' foo
bar
Run Code Online (Sandbox Code Playgroud)
但是如何访问名称中带有点的标签?
$ docker inspect -f '{{ .Config.Labels.com.wherever.foo }}' foo
<no value>
Run Code Online (Sandbox Code Playgroud)
我正在用bash脚本编写这个docker inspect,如果可能的话,我想避免重新解析JSON输出.
lee*_*777 29
这个index功能正是我想要的.它可以在地图中查找任意字符串.
$ docker inspect -f '{{ index .Config.Labels "com.wherever.foo" }}' foo
bang
Run Code Online (Sandbox Code Playgroud)