💡
原文中文,约2200字,阅读约需6分钟。
📝
内容提要
本文介绍了在WSL 2中使用Docker时解决HTTPS访问超时问题的方法,通过将WSL 2虚拟网络的MTU设置为1400,确保Docker网络正常运行。
🎯
关键要点
-
在WSL 2中使用Docker的桥接模式访问HTTPS时出现超时问题。
-
HTTP访问正常,但HTTPS访问明显变慢并可能超时。
-
切换到Host模式后,HTTPS访问恢复正常。
-
问题原因是Path MTU与防火墙流量检查不兼容。
-
解决方法是将WSL 2虚拟网络的MTU设置为1400。
-
需要修改Docker配置文件/etc/docker/daemon.json,添加'mtu': 1400。
-
在Windows下关闭WSL 2以应用配置更改。
-
使用管理员身份的Powershell检查网卡名称并设置MTU。
-
重新运行WSL 2虚拟机并测试Docker网络,问题得到解决。
❓
延伸问答
在WSL 2中使用Docker时,HTTPS访问超时的原因是什么?
原因是Path MTU与防火墙流量检查不兼容。
如何解决WSL 2中Docker的HTTPS访问超时问题?
将WSL 2虚拟网络的MTU设置为1400。
在WSL 2中修改Docker配置文件的步骤是什么?
使用root用户修改/etc/docker/daemon.json文件,添加'mtu': 1400。
为什么切换到Host模式后HTTPS访问恢复正常?
Host模式不受Path MTU和防火墙流量检查的影响,因此访问恢复正常。
如何在Windows中检查WSL 2的网卡名称?
使用管理员身份的Powershell运行命令Get-NetAdapter | Where-Object { $_ .Name -like '*WSL*' }。
设置WSL 2网卡MTU的命令是什么?
使用命令netsh interface ipv4 set subinterface 'vEthernet (WSL (Hyper-V firewall))' mtu=1400 store=persistent。
➡️