我正在查看wurstmeister / kafka-docker,发现此pull建议使用IP地址。基本上,它使用docker信息格式:
HOSTNAME_COMMAND: "docker info -f '{{`{{.Swarm.NodeAddr}}`}}'"
我想到了它使用格式来获取地址,但是我不明白多余的{{...}}和反引号(通常是等价符)是怎么回事。 docker-compose允许$ {variables},但这里没有美元符号($),因此无需转义。为什么不只是这样:
HOSTNAME_COMMAND: "docker info -f '{{.Swarm.NodeAddr}}'"
我在其他地方也看到过,所以我认为是有原因的。
答案 0 :(得分:0)
这基本上是this post的副本。但是,如果您不知道docker-compose文件使用Go模板,则可能找不到那个(我在compose file reference中没有提到它)。因此,基本上,反引号实际上是一个文字字符串,因此{{}}的外部集是一个模板,允许反引号在字面量之间取所有内容。