0

Windows Server 2019 でオーバーレイ ネットワークを使用したルーティング メッシュのサポートについて言及している投稿をいくつか見つけました (以下の参考文献を参照)。

多くのトラブルシューティングを行った結果、次のネットワークとサービスを使用して作成されたユーザー定義のオーバーレイ ネットワークで 2 つの単純なコンテナーを適切に構成できません。

docker network create -d overlay --attachable testnet
docker service create -d --name web --network testnet --publish 80:80 microsoft/iis
docker service create -d --network testnet --name pingweb mcr.microsoft.com/windows/nanoserver:1809 ping web

ポート 80 で Docker ホストを参照すると、iis Web サイトにアクセスできますが、他のコンテナーが同じオーバーレイ ネットワーク上にある場合pingweb、メイン コンテナーに ping を送信できません。web

PS C:\Users\me> docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
ga8egf2nwsir        ingress             overlay             swarm
bf164fa77349        nat                 nat                 local
81fb626259e1        none                null                local
l9p7c8p2fy3g        testnet             overlay             swarm
PS C:\Users\me> docker service create -d --name web --network testnet --publish 80:80 microsoft/iis
mk3r1a7za4jk21321kmzlddxr
PS C:\Users\me> docker service create -d --network testnet --name pingweb mcr.microsoft.com/windows/nanoserver:1809 ping web
j3z0xso7shghctva3od9qct10
PS C:\Users\me> docker service logs pingweb
pingweb.1.wbtpizulcxvg@WS2019DockerNode1    |
pingweb.1.wbtpizulcxvg@WS2019DockerNode1    | Pinging web [10.0.29.180] with 32 bytes of data:
pingweb.1.wbtpizulcxvg@WS2019DockerNode1    | Request timed out.
pingweb.1.wbtpizulcxvg@WS2019DockerNode1    | Request timed out.
pingweb.1.wbtpizulcxvg@WS2019DockerNode1    | Request timed out.
pingweb.1.wbtpizulcxvg@WS2019DockerNode1    | Request timed out.
pingweb.1.wbtpizulcxvg@WS2019DockerNode1    |
pingweb.1.wbtpizulcxvg@WS2019DockerNode1    | Ping statistics for 10.0.29.180:
pingweb.1.wbtpizulcxvg@WS2019DockerNode1    |     Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
PS C:\Users\me>

また、pingweb コンテナーがオーバーレイ ネットワーク上にある場合は常に、外部サイトに ping を実行できないことにも気付きました。ping をテストしましたが、ネットワーク上のコンテナーにping を実行しようとしているときと8.8.8.8同じ結果になるため、オーバーレイ ネットワークで実行すると機能しません。Request timed outwebtestnet

docker service create -d --network testnet --name pingweb mcr.microsoft.com/windows/nanoserver:1809 ping 8.8.8.8

質問:

  1. これは既知の問題ですか?
  2. どうすればこれを機能させることができますか?

参考文献:

https://docs.microsoft.com/en-us/virtualization/community/team-blog/2017/20170926-docker-s-routing-mesh-available-with-windows-server-version-1709

https://www.docker.com/blog/docker-windows-server-1709/

Windows での Docker イングレス モード サービスの公開

Linux サービスの公開オプションと同等であることは、Windows のお客様から強く要望されています。Windows Server 1709 でイングレス モードを使用したサービス公開のサポートを追加すると、Docker のルーティング メッシュを使用できるようになり、サービスのタスクを実行しているノードに関係なく、外部エンドポイントが swarm 内の任意のノードを介してサービスにアクセスできるようになります。

これらのネットワークの改善により、オーバーレイ ネットワークの使用時に VIP ベースのサービス ディスカバリのロックも解除されるため、Windows ユーザーは DNS ラウンド ロビンに制限されなくなります。

改善点の詳細については、Microsoft Virtualization ブログの対応する投稿を確認してください。

4

1 に答える 1

0

これについて多くの苦労の末、Windows Server 2019 Update KB4580390の一部として修正が提供されたことが判明しました。

この問題に関する Github スレッド: https://github.com/moby/moby/issues/40998#issuecomment-719889423

問題を修正する更新: https://www.catalog.update.microsoft.com/Search.aspx?q=KB4580390

于 2020-11-03T03:06:30.377 に答える