在 docker-compose.yml 中使用继承

Man*_*gor 5 yaml docker docker-compose

我有很多服务,它们在 docker-compose 中使用相同的基本配置。其实大部分配置都是一样的,只是有一些小的调整。

我已经看到在 YAML 中继承值是可能的。我可以在 docker-compose 中使用它来定义“默认服务”并在其他服务中使用它docker-compose run吗?我该怎么做?

Ant*_*hon 3

不,您不能使用 YAML 来做到这一点。YAML 中唯一类似于继承的功能是合并密钥语言独立类型,它仅适用于一个 YAML 文档,不适用于同一 YAML 文件中的多个文档(用 分隔---),当然也不适用于不同 YAML 文件之间。

但是docker-compose读取docker-compose.yml和 if available docker-compose.override.yml,其中第二个文件中的值(如果可用)覆盖第一个文件中的值。与-f指定输入 YAML 文件的选项相结合docker-compose,您可以使用具有不同覆盖的共享基础文件。

这是一个功能docker-compose,是在从 YAML 文件加载的数据上完成的,而不是通过组合 YAML 文件然后加载它们。