2017-08-14 4 views
4

Docker Composeサービスを明示的に要求するときにのみupが届くようにDocker Composeサービスを定義する方法はありますか?オプションのドッカー作成サービスを定義できますか?

言うことです:

docker-compose up 

はそれを起動していないだろうが、

docker-compose up optional_service 

はありません。

+0

潜在的に['extend'](https://docs.docker.com/compose/extends/)の仕事。 –

+1

関連:Docker Composeへのこの動作の明示的サポートの追加リクエスト:https://github.com/docker/components/issues/1896 – jwodder

+0

私にはあなた自身の質問に答えました。 docker-compose upオプションサービスが動作しない? – hnandarusdy

答えて

6

これを実現する方法の1つは、オプションのサービスを別の作成ファイルに定義することです。次に、オプションのサービスを開始し実行するには:

$ 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ファイルバージョンを使用する必要があることに注意してください。

Compose documentationで詳しく読むことができます。

+0

これらのサービスをリンクできますか? – Dancrumb

+2

デフォルトでは、Composeプロジェクトのすべてのサービスは、相互にリンクする必要なく、同じネットワークに追加されます。 'docker-compose up'を実行し、' docker network ls'に従います。 Composeプロジェクトが追加された後に名前が付けられたネットワークが表示されます。 Compose Networkingの[link](https://docs.docker.com/compose/networking/)はこちらです。 –

関連する問題