ネットワークドライバをオーバーライドする目的は何ですか?

ネットワークドライバをオーバーライドする目的は何ですか?

以下は、ネットワークドライバをoverlay使用するのではなく、UbuntuでSwarmクラスタ用のネットワークドライバを作成するために実行するコマンドです。bridge

     $ docker network create -d overlay xyz


$ docker network ls                      
NETWORK ID          NAME                DRIVER        SCOPE
9c431bc9fec7        bridge              bridge        local
88a4c6a29fa4        docker_gwbridge     bridge        local
10a4bc649237        host                host          local
o79qllmq86xw        ingress             overlay       swarm
417aca5efd6b        none                null          local
nsteeoxfu9b1        xyz                 overlay       swarm
$   

$ docker service create --name service_name --network xyz -p 80:80 --repicas 12 <image>

オプションを使用するサービスコマンドの具体的な目的は何ですか--network xyz

編集する

これはネットワークネームスペースの仕組みと関係がありますか?ここで言及した...

https://youtu.be/kl8roLaLy-g

そして

https://youtu.be/_WgUwUf1d34

それでは、各ネットワーク名前空間は、同じホスト上の専用(別々の)TCP-IP-Ethernetレイヤスタックですか?

ベストアンサー1

Dockerは、さまざまな種類のネットワークドライバを使用して、コンテナと外部ネットワーク間で通信します。デフォルトのネットワークドライバはbridgeドライバです。このドライバを使用すると、ソフトウェアブリッジを介して同じブリッジに接続されているコンテナが互いに通信できます。異なるブリッジに接続されたコンテナは、互いに分離されています。ブリッジドライバの範囲も単一のホストに制限されているため、異なるホスト上のコンテナは互いに通信できません。

Docker Swarmを使用している場合、通常は複数のホスト設定があり、各ホストでdockerデーモンを実行します。このシナリオで通信を容易にするにはoverlayドライバーが必要です。各dockerデーモンは、これらのホスト固有のネットワークの上部(オーバーレイ)にあるbridgeネットワーク(「docker_gwbridge」という名前)を使用します。overlayその後、ドライバはoverlayさまざまなDockerデーモン間の通信を可能にし、Swarm機能を容易にすることができます。

詳細については、次を参照してください。ネットワーキングの Docker ドキュメント

質問の2つの特定のコマンドは、新しいoverlayネットワークを作成して使用します。これドッカーネットワークの作成新しいネットワークを作成するコマンドですoverlay。これドッカーサービスの作成このコマンドは、新しいサービスを定義し、以前に作成されたネットワークに接続する必要があることを指定しますoverlay

おすすめ記事