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

相关推荐
yunfuuwqi25 分钟前
OpenClaw✅真·喂饭级教程:2026年OpenClaw(原Moltbot)一键部署+接入飞书最佳实践
运维·服务器·网络·人工智能·飞书·京东云
迎仔40 分钟前
C-算力中心网络隔离实施方法:怎么搞?
运维·网络
代码游侠44 分钟前
C语言核心概念复习——网络协议与TCP/IP
linux·运维·服务器·网络·算法
oMcLin2 小时前
2025年必备的Docker命令指南与实战示例
docker·容器·eureka
AtoposのCX3302 小时前
Docker运行hello-world镜像失败或超时
运维·docker
sun cat2 小时前
Docker详细介绍(6)
docker·容器·docker-compose
熊延3 小时前
麒麟V10系统安装部署elasticsearch
linux·运维·服务器·elasticsearch·搜索引擎·全文检索
Yeats_Liao6 小时前
评估体系构建:基于自动化指标与人工打分的双重验证
运维·人工智能·深度学习·算法·机器学习·自动化
小Pawn爷6 小时前
4.镜像仓库
docker
爱吃生蚝的于勒6 小时前
【Linux】进程信号之捕捉(三)
linux·运维·服务器·c语言·数据结构·c++·学习