9.2.4 锚点和别名

Fragements

可以利用内置的YAML功能使Compose文件更加整洁和高效。通过锚点(anchors)别名(aliases)允许你创建可重复使用的块。这在你开始发现存在跨多个服务的常见配置时非常有用。具有可重复使用的块可以最小化潜在的错误。

锚点是使用 "&" 符号创建的,该符号后面跟着一个别名名称。稍后使用 "*" 符号来引用紧随锚点后面的值请确保在 "&" "*" 与别名之间没有空格。

可以在单个Compose文件中使用多个锚点和别名。

示例 1

services:
  first:
    image: my-image:latest
    environment: &env
      - CONFIG_KEY
      - EXAMPLE_KEY
      - DEMO_VAR
  second:
    image: another-image:latest
    environment: *env

示例2

services:
  first:
    image: my-image:latest
    environment: &env
      FOO: BAR
      ZOT: QUIX
  second:
    image: another-image:latest
    environment:
      <<: *env
      YET_ANOTHER: VARIABLE

Extensions

与片段(Fragements)一样,扩展(Extensions)可以用来使您的Compose文件更加高效和易于维护。扩展还可以与锚点和别名一起使用。

使用前缀 "x-" 作为顶层元素,以模块化您希望重用的配置。Compose会忽略以 "x-" 开头的任何字段

示例 1

示例2

Last updated

Was this helpful?