docker inspect命令模板中的点(.)有什么作用?
Docker inspect 格式模板中点(.)的含义
在docker inspect -f '{{ .Mounts }}' $INSTANCE_ID命令里,这个点(.)是Go模板语法中的根上下文标识,具体作用如下:
- 它代表
docker inspect返回的整个JSON数据结构的根节点,简单说就是把inspect输出的完整JSON对象当作当前模板的"起始访问点"。 - 当你写
{{ .Mounts }}时,就是从这个根节点(完整JSON)里直接提取名为Mounts的字段值。 - 如果要访问更深层级的字段,比如遍历所有挂载项并获取每个挂载的源路径,可以写成
{{ range .Mounts }}{{ .Source }}{{ end }}——这里range .Mounts会遍历根节点下的Mounts数组,而循环内部的点(.)就代表当前正在遍历的那个挂载项对象。
Docker的--format/-f参数本质上复用了Go语言的文本渲染模板系统,这个点的用法是Go模板的标准语法,并非Docker独有的规则。
内容的提问来源于stack exchange,提问作者Pixie
相关产品推荐
相关产品推荐

