记录一次WSL修改networkingMode导致Docker端口无法访问的问题

最近踩了一个挺隐蔽的坑,简单记录一下。

一、问题现象

本地用 Docker Desktop(Windows + WSL2) 跑服务:

  • 容器正常运行,端口映射正常,本机也能正常访问
  • 其他人 / 局域网访问不了

Docker配置和防火墙看了一圈,都没发现问题。

二、原因

后来才发现,是自己之前改过WSL的网络配置 ,在 C:\Users\qianccc\.wslconfig

ini 复制代码
[wsl2]
networkingMode=mirrored

这个配置把WSL2的网络模式从默认的NAT 改成了mirrored(镜像宿主网络)

问题在于:Docker Desktop是跑在WSL2里的,而Docker的端口映射依赖WSL2默认的NAT转发机制,改成 mirrored 后,这套转发链路被绕开,导致端口只在本机可用,外部访问不到

然后查了一下自己可能改掉WLS默认的网络配置的原因:

  • 自己电脑ip经常变,导致Docker和本机经常网络不通
  • 在使用VPN的时候,WSL和Docker的网络经常异常

三、解决方案

把 WSL 网络模式改回默认即可。

修改 .wslconfig

ini 复制代码
[wsl2]
networkingMode=nat

然后执行:

bash 复制代码
wsl --shutdown

最后重启 Docker Desktop,端口对外访问就恢复正常了🎉

相关推荐
旗讯数字2 小时前
【技术实测】旗讯OCR手写问卷识别:从纸质文档到结构化表格的自动化方案
运维·自动化·ocr
zzzsde2 小时前
【Linux】基础开发工具(4):自动化构建--make/makefile
linux·运维·服务器
aliprice2 小时前
告别手动调价:如何利用速卖通价格历史数据,构建自动化的动态定价策略
大数据·运维·自动化
Hui Baby2 小时前
K8S CCM简介
云原生·容器·kubernetes
小旺不正经2 小时前
解锁n8n:工作流自动化的魔法工具
运维·自动化·工作流·n8n
勿忘初心7202 小时前
Ubuntu 24.04 修改系统时间、数据库时间并实时同步
运维·服务器
香煎三文鱼2 小时前
由于没有远程桌面授权服务器可以提供许可证,远程会话被中断,请跟服务器管理员联系。
运维·服务器
骆驼爱记录2 小时前
ExcelVBA高效自动化技巧大全
运维·自动化·wps·新人首发
勿忘初心7202 小时前
Ubuntu 24.04 Nginx 安装与安全配置完整指南
运维