当我启动docker时,我在WSL2中失去了连接
$ curl google.fr
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
$ sudo service docker start
$ curl google.fr
<timeout>
我知道所有的WSL2连接问题与VPN和思科anyconnect。
但在这种特殊情况下,我没有连接任何VPN。
要恢复与互联网的连接,我必须在PowerShell中执行wsl --shutdown
。但是我失去了docker…
找到一个简单的修复
来自与WSL2使用相同网络的docker。
要解决这个问题,你应该明确地告诉docker使用不同的网络。
添加到您的/etc/docker/daemon.json
{
"bip" : "10.10.0.1/16"
}
如果文件不存在,创建它
credit: https://github.com/microsoft/WSL/issues/4285#issuecomment-1180567785
现在bip
是不同的,你可能需要更新它依赖于docker的其他技术。例如,在minikube上,必须在启动期间将新的bip
定义为参数。
对于ie:
minikube start --docker-opt bip=10.10.0.1/16
编辑
过了一段时间,所有的机器又停止工作了。为了解决这个问题,我停用了自生成resolv.conf (sudo nano/etc/wsdl .conf),然后使用wsl --shutdown
的powershell杀死了wsl2。打开新shell,启动docker,编辑/etc/resolv.conf
,将内容替换为nameserver 8.8.8.8
。退出后,网络连接恢复。
别问为什么!要有信心……