启动Docker后WSL2网络连接中断问题求助
解决WSL2启动Docker后网络中断问题(无VPN场景)
固定WSL2 DNS配置,避免Docker篡改
启动Docker后resolv.conf常被自动覆盖,导致DNS失效:- 创建/编辑
/etc/wsl.conf,添加以下内容:[network] generateResolvConf = false - 删除自动生成的DNS配置文件:
sudo rm /etc/resolv.conf - 手动新建
/etc/resolv.conf,写入公共DNS:nameserver 8.8.8.8 nameserver 1.1.1.1 - 退出WSL后在PowerShell执行
wsl --terminate <你的发行版名称>,重新进入后启动Docker测试网络。
- 创建/编辑
修改Docker网络配置,避免网段冲突
WSL2默认网段与Docker网桥可能重叠,导致路由异常:- 创建/编辑
/etc/docker/daemon.json,添加以下配置:{ "bip": "192.168.100.1/24", "dns": ["8.8.8.8", "1.1.1.1"] } - 重启Docker服务:
sudo service docker restart - 执行
curl google.fr验证网络是否恢复。
- 创建/编辑
无需关闭WSL的快速网络重置
如果已经出现断网,不用执行wsl --shutdown,直接在WSL内执行:sudo ip link set dev eth0 down && sudo ip link set dev eth0 up或者重启网络服务:
sudo systemctl restart systemd-networkd执行后即可恢复网络,同时保留Docker运行环境。
检查Windows防火墙规则
确认Windows防火墙未阻止WSL2的网络请求:- 临时关闭Windows Defender防火墙测试网络是否恢复
- 若问题解决,在防火墙中添加允许WSL2发行版的入站/出站规则。
内容的提问来源于stack exchange,提问作者Doctor
相关产品推荐
相关产品推荐

