【问题标题】:Go templates - Search all keys recursivelyGo 模板 - 递归搜索所有键
【发布时间】:2022-01-11 04:38:07
【问题描述】:

我经常发现自己需要在 docker x 命令输出中找到特定的键。我通常使用 grep 有时使用 jq 命令,但也许 go 模板有一些构建机制来输出一个键和它的值而不知道该值的具体“路径”?

例如,在docker image inspect <x> 命令的情况下,Cmd 的路径将类似于 [0].ContainerConfig.Cmd[0].Config.Cmd

是否可以在 Go 模板中检索这两个键及其值?

【问题讨论】:

标签: docker go go-templates


【解决方案1】:

只是尴尬。拆分成多行,你可以写

{{- if .ContainerConfig.Cmd -}}
{{- .ContainerConfig.Cmd -}}
{{- else if .Config.Cmd -}}
{{- .Config.Cmd -}}
{{- else -}}
""
{{- end -}}

您必须删除换行符并将其打包到单个 docker inspect -f 选项中,这很不方便。

按照您在问题中的建议使用jq 可能会更容易一些;或者@Vorsprung 的使用Docker SDK 的建议将允许您使用比纯Go text/template 语言更丰富的语言编写代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-29
    • 1970-01-01
    • 2016-11-22
    • 1970-01-01
    • 2011-11-12
    • 2020-12-17
    • 2011-04-27
    • 2013-04-15
    相关资源
    最近更新 更多