Docker Windows容器DNS缓存和防火墙

时间:2019-01-08 13:39:19

标签: docker docker-swarm windows-firewall

我在另一个节点上有一个Docker Windows容器和Linux容器。 在Windows上,我在此处提到的防火墙中打开了端口:https://docs.docker.com/network/overlay/#operations-for-all-overlay-networks (8条规则-4代表输入,4代表输出),但是即使如此,当我连接到Windows主机上的容器并尝试ping Linux容器时,我仍然收到“没有这样的主机已知”,但是在执行之后(在容器内部):

  

Clear-DnsClientCache

一切开始起作用。 我还删除了整个堆栈,并尝试禁用防火墙和意外操作-现在一切正常,而无需清除DNS缓存。 我再次移除了堆栈并启用了防火墙-我必须再次连接到容器并清除缓存以使其正常运行。

好像防火墙设置有问题,但是怎么办?我没有找到应该打开的其他端口

1 个答案:

答案 0 :(得分:0)

好像我刚刚找到了答案,但我并不完全理解。我尝试先打开端口0-9999,然后打开0-5000,然后打开0-2500等,发现我需要打开端口1888(tcp,in)以使docker overlay网络立即工作(我的意思是能够解决立即为DNS名称提供服务),但我在互联网上找不到任何相关信息。我不知道为什么。我只有一个遇到这个问题吗?也许这不是正确的解决方案?有人可以告诉我为什么需要这个端口,为什么即使在1888年被阻止的情况下,Clear-DnsClientCache仍可以工作?

编辑: 看来此解决方案是错误的。现在它只工作一次,然后不工作,然后再工作一次。我可以删除并重新创建整个堆栈,它只是随机工作。

相关问题