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文章中阅读更多关于此的内容 。