【问题标题】:Windows docker container cannot ping hostWindows docker 容器无法 ping 主机
【发布时间】:2017-03-28 16:07:16
【问题描述】:

我在 Windows Server 2016 主机上运行一个 windows docker 容器,运行默认配置。

使用命令运行docker容器时:

docker run -it microsoft/windowsservercore powershell

当我运行命令时:

ping <hostIPAddress>

它只是说请求超时。 我已经检查过我可以 ping 8.8.8.8 和 google.com 等……甚至是同一子网上的其他机器。我唯一无法ping通的是主机。

我已在“docker run”命令中添加了“--dns”,但这仅允许我通过主机名而不是 IP ping 主机。

有其他人看到这个问题并有解决方案吗?

【问题讨论】:

  • 我现在也遇到同样的问题,请问您有没有找到解决办法?
  • 恐怕还是没有办法
  • 几个月后。有没有人对此有解决方案。我看到一些人正在放弃整个 NAT 的想法

标签: windows networking docker containers


【解决方案1】:

我找到了一种解决方法(我不愿意称之为解决方案):

Windows Container Network Drivers:创建一个“透明”网络:

docker network create -d transparent trans

将容器附加到此网络

docker run --network=trans ...

重要提示:请注意,使用此网络,您的容器需要从主机子网获取 IP 地址并直接暴露给它。

可能相关(这是关于从主机访问容器):

根据https://github.com/Microsoft/Virtualization-Documentation/issues/253#issuecomment-217975932(JMesser81):

这是我们的 Windows NAT 实施 (WinNAT) 中的一个已知限制,您无法直接从容器 (NAT) 主机访问静态端口映射中的外部端口。

【讨论】:

    【解决方案2】:

    在我的情况下,我的 Windows 主机上运行了企业托管的 McAfee 防火墙。我无法在防火墙上添加任何其他规则,但幸运的是有一条规则允许从 172.16.0.0/24 访问。

    我使用了“docker network create -d transparent trans”,它按描述工作,但我对分配给容器的主机网络的 IP 不满意。

    我做了以下事情:

    • docker network create --driver=nat --subnet=172.16.0.0/24 br0
    • 在我的 docker run 命令中添加了 --network=br0

    【讨论】:

      【解决方案3】:

      希望这可能对某人有所帮助。

      在 Windows 10 上,当在 0.0.0.0:5057 上托管 Linux 容器时,我能够使用在控制面板>所有控制中找到的 vEthernet(默认交换机)NIC 的 IP 地址从我的 Windows 主机 (powershell) ping 我的服务器面板项目>网络连接:

      【讨论】:

        【解决方案4】:

        我也面临同样的问题。

        我的解决方法是重新启动 docker 服务,然后它就可以正常工作了。我仍在寻找永久解决方案。

        root@a6c40eb25cbf:/# ping xxx.xx.xx.xxx
        PING xxx.xx.xx.xxx (xxx.xx.xx.xxx): 56 data bytes
        64 bytes from xxx.xx.xx.xxx: icmp_seq=0 ttl=37 time=3.541 ms
        64 bytes from xxx.xx.xx.xxx: icmp_seq=1 ttl=37 time=2.643 ms
        64 bytes from xxx.xx.xx.xxx: icmp_seq=2 ttl=37 time=1.857 ms
        ^C--- xxx.xx.xx.xxx ping statistics ---
        3 packets transmitted, 3 packets received, 0% packet loss
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-12-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多