我正在查看wurstmeister/kafka-docker,发现这个pull建议使用IP地址。基本上,它使用docker信息格式:
HOSTNAME_COMMAND: "docker info -f '{{`{{.Swarm.NodeAddr}}`}}'"我的想法是它使用格式来获取地址,但我不明白额外的{{...}}和反号(通常是eval)是怎么回事。docker-compose允许${variables},但是这里没有美元符号($),所以不需要转义。为什么这不只是:
HOSTNAME_COMMAND: "docker info -f '{{.Swarm.NodeAddr}}'"我在别处见过这种情况,所以我认为这是有原因的。
发布于 2019-09-24 22:35:04
这基本上是this post的副本。但是,如果您不知道docker-compose文件使用Go模板,那么您可能找不到它(我在compose file reference中没有找到任何提到它的地方)。因此,基本上,在go中,反引号表示文字字符串,因此{{ }}的外部集合是一个模板,允许反引号获取字面之间的所有内容。
https://stackoverflow.com/questions/57914920
复制相似问题