在docker-compose.yml中使用继承

我有很多服务,它们在docker-compose中使用相同的基本配置.实际上大多数配置是相同的,有一些小的调整.

我已经看到,在某种程度上可以继承YAML中的值.我可以在docker-compose中使用它来定义“默认服务”,并在其他服务中使用它,例如docker-compose run?我该怎么做?

最佳答案 不,你不能用YAML做到这一点. YAML中唯一的继承功能是
Merge Key Language Independent Type,它仅适用于一个YAML文档,而不适用于同一个YAML文件中的多个文档(由—分隔),当然不在不同的YAML文件之间.

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

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

点赞