我在学习docker-gen,对docker有点熟悉,刚刚学习了Go模板。我看到这两个模板:
https://github.com/jwilder/docker-gen/blob/master/templates/etcd.tmpl
{{range $key, $value := .}}
{{ $addrLen := len $value.Addresses }}
{{ if gt $addrLen 0 }}
{{ with $address := index $value.Addresses 0 }}
# {{ $value.Name }}
curl -XPUT -q -d value="{{ $address.IP }}:{{ $address.Port }}" -d ttl=15 http://127.0.0.1:4001/v2/keys/backends/{{ $value.Image.Repository}}/{{printf "%.*s" 12 $value.ID}}
{{ end }}
{{end}}
{{end}}
和
https://github.com/jwilder/docker-gen/blob/master/templates/logrotate.tmpl
{{ range $index, $value := $ }}
{{ $logs := $value.Env.LOG_FILES }}
{{ if $logs }}
{{ range $index, $logfile := split $logs "," }}
/var/lib/docker/containers/{{ $value.ID }}/root{{ $logfile }}{{ end}}
{
daily
missingok
rotate 52
compress
delaycompress
notifempty
create 644 root root
}
{{ end }}
/var/lib/docker/containers/{{ $value.ID }}/{{ $value.ID }}-json.log
{
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 644 root root
}
{{ end }}
然而 ”。” 根据 docker-gen 文档,“$”是从容器元数据输入的。
现在这个容器元数据是什么?我找不到一个例子 an6where。它在任何地方都有描述吗?我如何知道我可以检索哪些字段和哪些键?我怎么知道我有一个?
请帮忙,我很困惑。