2016-05-15 45 views
4

我有很多服務,它們在docker-compose中使用相同的基本配置。實際上大部分配置都是一樣的,只需稍作調整。在docker-compose.yml中使用繼承

我看到它在某種程度上可以繼承YAML中的值。我可以在docker-compose中使用它來定義一個「默認服務」並將其全部用於其他服務中,例如: docker-compose run?我將如何做到這一點?

+1

可能從[文檔](https://docs.docker.com/compose/extends/)開始。 – larsks

+0

謝謝,我知道有一種方法,我根本沒有想到如何以及在哪裏尋找它 – Mandragor

回答

2

不,你不能這樣做使用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文件然後加載它們。