2017-05-24 39 views
3

Docker-Composeを使って、Dockerコンテナとネットワークの構築プロセスを簡略化するかどうかを確認しています。Docker-Composeを使用してコンテナのないネットワークを作成することはできますか

私はかなり満足していますが、「サービス」(まだ)で使用されていない「ネットワーク」をいくつか作成したいときに問題に遭遇しました。

私がこの動作をしたいのは、ローカルネットワークの「プライベート」ネットワークと「パブリック」ネットワークを作成するためのDocker-Composeファイルを作成することでした。すでに作成された「外部」ネットワークを利用する私のプロジェクトごとに別々のDocker-Composeを作成します。

私は、ネットワークの作成を初期化するためのダミーコンテナを指定することができましたが、それは不要と思われました。例えば...

version: '2' 
services: 
    # Dummy Service 
    dummy: 
    image: busybox 
    container_name: dummy 
    hostname: dummy 
    networks: 
     private: 

networks: 
    # Private Network for all Services (across Projects) 
    private: 
    driver: bridge 
    ipam: 
     driver: default 
     config: 
     - subnet: 172.18.0.0/24 
     gateway: 172.18.0.1 

は私が一望できるよ設定/フラグがあり、またはコンテナなしでネットワークを作成するために、ドッカー-作曲を使用する方法はありません。

また、私はこれに間違って近づいていますか?

基本的には、どのコンテナが参加/退室するかにかかわらず、ネットワークを存分に利用したいと考えています。

答えて

4

ドッキングウィンドウ-構成するネットワークが使用されているかどうかのために、そして、それは未使用だ場合、それがネットワークを構築スキップの内部チェックがあります:

$ cat docker-compose.net-only.yml 
version: '2' 

networks: 
    test1: 
    test2: 

$ docker-compose -f docker-compose.net-only.yml --verbose up 
..... 
WARNING: compose.network.from_services: Some networks were defined but are not used by any service: test1, test2 
..... 

$ docker network ls | grep test 

$ 

私は小さなシェルスクリプトとしてこれを行うことをお勧めしたいが、このタスクにdocker-composeを使用する代わりにdocker network createを呼び出してください。

+0

BMitchありがとうございます。これは私の疑惑だった。私は「サービスを無視する」というような旗が欠けていないことを確認したかった。 – Futile32

関連する問題