我有很多服務,它們在docker-compose中使用相同的基本配置。實際上大部分配置都是一樣的,只需稍作調整。在docker-compose.yml中使用繼承
我看到它在某種程度上可以繼承YAML中的值。我可以在docker-compose中使用它來定義一個「默認服務」並將其全部用於其他服務中,例如: docker-compose run
?我將如何做到這一點?
我有很多服務,它們在docker-compose中使用相同的基本配置。實際上大部分配置都是一樣的,只需稍作調整。在docker-compose.yml中使用繼承
我看到它在某種程度上可以繼承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文件然後加載它們。
可能從[文檔](https://docs.docker.com/compose/extends/)開始。 – larsks
謝謝,我知道有一種方法,我根本沒有想到如何以及在哪裏尋找它 – Mandragor