2017-12-05 3 views
1

私はドッカーのswarm stack.Iのためのドッキングファイルを作成しています。私は自分のスタックサービスを特定のネットワークに配備し、そのネットワークを入口ネットワークにしてドッカーのDNSRRを使用できるようにします。Dockerはv3を構成して入力ネットワークを指定しますか?

version: "3" 
services: 
a: 
    image: xyz/a:dev 
    ports: 
    - "80:80" 
    - "443:443" 
    networks: 
    -my_network 
b: 
    image: xyz/b:dev 
    ports: 
    - "5000:5000" 
    networks: 
    -my_network 

networks: 
    my_network: 
    driver:overlay 
    ipam: 
    driver: default 
    config: 
     -subnet: 10.0.1.0/24 

ここで、このネットワークは入力ネットワークにする必要がありますか。さらに、ここで指定したip-rangeをcliで指定したのと同じように指定することができます。here

答えて

1

明らかに、これらのオプションはcomposefileに公開されていません。ドキュメントにはそれらは記載されておらず、ソースコード、特に最新のcompose schemaを確認できることを確認してください。

唯一のオプションは、入力ネットワークをコマンドラインで作成し、外部ネットワークとして作成ファイルから参照することです。

+0

今のところ、私はcliでネットワークを作り、それをサービスで結成する必要がありますか? –

+0

明らかにはい。 – yamenk

0

入力ネットワークは、マネージャ/ワーカーノード専用です。

ルーティングメッシュは、すべての着信要求を、使用可能なノードの公開ポートにアクティブコンテナにルーティングします。 https://docs.docker.com/engine/swarm/ingress/

あなたが望むのは、追加オーバーレイネットワークです。同じオーバレイネットワークに割り当てられているすべてのサービスは、入力していないので、指定した名前でお互いに話すことができます。

など。

docker service create --name A --network dev ... 
docker service create --name B --network dev ... 

サービスAは簡単にping Bを実行できます。

+0

しかし、オーバレイネットワークではdnsrrを使用できますか?サービスbに2インスタンスがある場合は、ドッキング・ロード・バランサを使用してリクエストをリダイレクトしますか? –

+1

はい。それは含まれています。詳細はhttps://stackoverflow.com/a/42511511/2779972をご覧ください – Markus

関連する問題