我的主机上安装了 Stonesoft VPN-Client 和 Docker-for-Windows。我的 Windows 容器似乎无法解析任何主机(甚至 www.google.com)。然而,我的 Linux 容器工作得很好。当我禁用网络适配器列表中的 VPN 适配器时,Windows 容器可以再次访问 Internet。但我需要它们与 VPN 一起工作。
所以我研究了一段时间并尝试遵循:
最佳答案
我只是想通了这一点:
1)。关注:https://docs.docker.com/machine/drivers/hyper-v/#example :
2)。启动 hyper v(可能需要启用):https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-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 powershellping 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
关于docker - Windows 容器无法访问互联网,但 Linux 容器可以 - 在主机上激活 VPN 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56341873/