** 外部机器访问wsl内的docker 服务**
可以使用 NAT 模式,然后设置端口转发实现
但是这种模式需要频繁的操作,并且wsl IP 不好获取,
所以强烈建议使用 networkingMode=mirrored 模式 官方配置
问题
但是这种模式设置后 会发现 ,本机windows 不能访问这个docker服务
比如使用docker 创建nginx服务在8000端口上,
想在windows上访问 localhost:8000 或者 windowsIP(192.168.0.23):8000 —-> 都会失败
但是在另外机器上通过浏览器访问 192.168.0.23:8000 —> 就可以通达
解决办法
这个问题原始讨论在 github issues
添加下面配置到 windows “%USERPROFILE%/.wslconfig”
[wsl2]
networkingMode=mirrored
dnsTunneling=true
firewall=false
autoProxy=false
[Experimental]
hostAddressLoopback=true
并且添加
"iptables": false
到 /etc/docker/daemon.json 就好了 如果是使用snap 安装的 配置文件在 /var/snap/docker/current/config/daemon.json