记录一次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,端口对外访问就恢复正常了🎉

相关推荐
dyj0958 小时前
Dify - (一)、本地部署Dify+聊天助手/Agent
人工智能·docker·容器
wanhengidc8 小时前
云手机 高振畅玩不踩坑
运维·服务器·安全·web安全·智能手机
有谁看见我的剑了?8 小时前
linux 添加硬盘后系统识别不到硬盘处理
linux·运维·服务器
JoyCong19988 小时前
ToDesk远程屏幕墙技术白皮书:如何重塑全局运维视界
运维·电脑·远程工作
偶尔上线经常挺尸9 小时前
《100个“反常识”经验15:Nginx 502排查:从应用到内核》
运维·nginx·性能调优·反向代理·502错误·http排错
思茂信息10 小时前
CST软件如何进行参数化扫描?
运维·开发语言·javascript·windows·ecmascript·软件工程·软件需求
计算机安禾10 小时前
【Linux从入门到精通】第31篇:防火墙漫谈——iptables与firewalld防护指南
linux·运维·php
下一页盛夏花开10 小时前
ubuntu 20中安装QT以后出现红色空心断点
linux·运维·ubuntu
Nice_Fold11 小时前
Kubernetes DaemonSet、StatefulSet与Service(自用笔记)
笔记·容器·kubernetes