2017-08-14 25 views
4

有沒有一種方法可以定義Docker Compose服務,使其僅在您明確請求時纔會帶來up您可以定義可選的docker-compose服務嗎?

也就是說:

docker-compose up 

將不啓動它,但

docker-compose up optional_service 

會。

+0

['extends']的潛在工作(https://docs.docker.com/compose/extends/)。 –

+1

相關:請求爲此行爲添加明確的支持到Docker撰寫:https://github.com/docker/compose/issues/1896 – jwodder

+0

對於我來說,你已經回答了你自己的問題。 docker-compose up optional_service不起作用? – hnandarusdy

回答

6

實現此目的的一種方法是在不同的撰寫文件中定義您的可選服務。然後啓動可選服務,運行:

$ docker-compose -f docker-compose.yaml -f optional-service.yaml up 

舉例來說,如果我有一個碼頭工人,compose.yaml文件看起來像:

version: '2.1' 
services: 
    lb: 
    image: nginx:1.13   
    db: 
    image: redis:3.2.9 

我可以用一個可選的業務擴展。 yaml,看起來像:

version: '2.1' 
services: 
    busy: 
    image: busybox 

請注意,兩個撰寫文件必須使用相同的撰寫文件版本。

您可以在Compose documentation中閱讀更多關於它的信息。

+0

您能否鏈接這些服務? – Dancrumb

+2

默認情況下,Compose項目中的所有服務都會添加到同一個網絡中,而不需要彼此鏈接。運行'docker-compose up',跟隨'docker network ls'。您將看到添加了您的Compose項目後命名的網絡。這是[撰寫網絡]的[鏈接](https://docs.docker.com/compose/networking/)。 –

相關問題