Docker Windows容器不能访问internet,但Linux容器可以访问—VPN客户端在主机上处于活动状态

Docker Windows容器不能访问internet,但Linux容器可以访问—VPN客户端在主机上处于活动状态,docker,vpn,docker-for-windows,Docker,Vpn,Docker For Windows,我的主机上安装了Stonesoft VPN客户端和Windows Docker。我的Windows容器似乎无法解析任何主机(甚至www.google.com)。但是,我的Linux容器工作得非常好。当我在网络适配器列表中禁用VPN适配器时,windows容器可以再次访问internet。但我需要他们与VPN一起工作 所以我研究了很长一段时间,并尝试如下: 检查powershell中的适配器优先级: Get NetIPInterface-AddressFamily IPv4 |排序对象-属性Int

我的主机上安装了Stonesoft VPN客户端和Windows Docker。我的Windows容器似乎无法解析任何主机(甚至www.google.com)。但是,我的Linux容器工作得非常好。当我在网络适配器列表中禁用VPN适配器时,windows容器可以再次访问internet。但我需要他们与VPN一起工作

所以我研究了很长一段时间,并尝试如下:

  • 检查powershell中的适配器优先级: Get NetIPInterface-AddressFamily IPv4 |排序对象-属性InterfaceMetric-降序
  • 据说,主适配器应该具有最低的度量值。在我的例子中,这就是以太网,看起来不错

  • 使用--dns=8.8.8.8标志运行映像。没有解决这个问题
  • 我进入了Hyper-V管理器的虚拟交换机设置。我将名为“nat”的交换机设置为“外部网络”。在那之后,我的集装箱连上了互联网。但是它自动禁用了VPN适配器,所以这是不对的

  • 将vEthernet(nat)的IPv4地址和DNS设置为自动。也无济于事

  • 重新安装容器工具Hyper-V和Docker。没有成功

  • 正在尝试旧版本的Docker for Windows。没有成功
  • 以下是有关我的环境的一些信息:

    我的网络适配器:

    我的Docker设置是默认设置

    Hyper-V虚拟交换机:

    vEthernet(nat)IPv4设置:

    vEthernet(DockerNet)IPv4设置:

    vEthernet(默认交换机)IPv4设置:

    ipconfig/all在我的主机上:

    我希望这有帮助,有人能回答这个问题。这件事困扰了我好一阵子了

    编辑:

    因为这里没有实际问题:


    我该如何解决这个问题呢?

    我刚想出来:

    1) 。如下:

    2) 。启动hyper v(可能需要启用):

    3) 。然后在hyper v中创建外部虚拟交换机。选择您的wifi适配器。(应在vpn打开或关闭的情况下工作)

    4) 。重新启动

    5) 。启动容器并连接到新网络

    docker network ls
    docker network connect "John Windows Container Switch" win1809
    docker network inspect "John Windows Container Switch"
    
    显示:

            "Containers": {
                "b8c4ae07761fdf082602f836654013b8d83a717cce9156880a80c7542d855842": {
                    "Name": "win1809",
                    "EndpointID": "e84652fc93fd1fa2970c3bdcad513d8928fc35823a9f8cf0e638926b6091a60c",
                    "MacAddress": "00:15:5d:fb:77:dd",
                    "IPv4Address": "",
                    "IPv6Address": ""
    
    6) 。docker exec-it win1809 powershell

    ping www.google.com
    
    Pinging www.google.com [172.217.10.36] with 32 bytes of data:
    Reply from 172.217.10.36: bytes=32 time=19ms TTL=118
    Reply from 172.217.10.36: bytes=32 time=18ms TTL=118
    Reply from 172.217.10.36: bytes=32 time=18ms TTL=118
    Reply from 172.217.10.36: bytes=32 time=14ms TTL=118
    

    另一个VPN软件出现了完全相同的问题(检查点端点安全性)