dockercomposer php卷和networking有*或&在声明

在我的docker-compose文件中有以下configuration。 什么*appvolume意思是? 我看到了带有volumes: &appvolumes设置volumes: &appvolumes

 version: "3" services: ... setup: image: xxxx volumes: *appvolumes networks: *appnetworks 

docker-compose文件使用YAML语法。 这些字符是“anchor”和“aliaes”的YAML语法,它们基本上是从文档的另一部分引用YAML文档的一部分的方式。 例如,考虑这个例子:

 example: list1: &foo - one - two list2: *foo 

它定义了一个名为foo的锚点,指向list1键中的列表。 在文档的其他地方,我们可以使用*foo来引用同一个列表。

如果将其粘贴到在线yamlparsing器中 ,则会发现生成的数据结构看起来好像列表list2是使用与list1相同的内容指定的:

 { "example": { "list1": [ "one", "two" ], "list2": [ "one", "two" ] } } 

docker-compose.yaml文件中,如果您有一组共同的卷或networking等,您希望将其包含在多个服务定义中,那么这非常有用。

您可以在维基百科的YAML文章中阅读更多关于此的内容 。