4

docker servicedocker swarm でを作成しています。各 docker サービスが、各 swarm ノードで固有の IP アドレスを持つようにしたいと考えています。したがって、私のインスタンスには複数のネットワーク インターフェイス (eth1、eth2、および eth3) があり、それぞれに独自の異なる IP アドレスがあります。各ノードで単一の親ネットワーク インターフェイスに接続された Docker オーバーレイ ネットワークを作成できるようにして、各 Docker サービスが各ノードで独自の IP アドレスを持つようにしたいと考えています。

これは、そのようなネットワークとそれに付随するサービスを作成するための私の試みです。

docker network create -d overlay \
-o parent=eth2 \
nginx1-net

docker service create \
--mode global \
--name nginx1 \
-p 30000:80/tcp \
--network nginx1-net \
nginx

問題は、このオーバーレイ ネットワークnginx1-netが作成した管理ノードにのみ表示され、他のノードには表示されないことです。(これは、サービスがデフォルトで docker0 と eth0 にアタッチされるためだと思います)

これにより、定義した eth2 インターフェイスだけでなく、任意のインターフェイス (eth1、eth2、および eth3) の任意の IP アドレスからこのサービスにアクセスできる状況が発生します。

オーバーレイ ネットワークと Docker サービスを単一のネットワーク インターフェイスにバインドするにはどうすればよいですか?

注:私の全体的な目標は、各コンテナーがルーティング可能な外部 IP アドレスを持つ Docker サービスを作成することです。

4

0 に答える 0