1.前提是liunx中已经安装了docker 启动了一个容器,端口映射4999=》5000

2.局域网内其它主机可以ping通我主机的ip但是无法访问通过ip:4999访问我的容器进程

3.设置监听和连接规则window powershell管理员执行

netsh interface portproxy add v4tov4     listenport=22 listenaddress=0.0.0.0     connectport=22 connectaddress=localhost
listenport, 表示要监听的 Windows 端口
listenaddress, 表示监听地址, 0.0.0.0 表示匹配所有地址, 比如Windows 既有Wifi网卡, 又有有线网卡, 那么访问任意两个网卡, 都会被监听到,当然也可以指定其中之一的IP的地址
connectaddress ,要转发的地址, 这里设置为localhost, 是因为,我们可以通过localhost来访问WSL2, 如果暂不支持, 这里需要指定为 WSL2的IP地址
connectport, 要转发到的端口

4.查看

netsh interface portproxy show all

 

端口换成4999就可以了

5.删除

netsh interface portproxy delete v4tov4 listenport=22 listenaddress=0.0.0.0

6.宿主机window如果启动了相同的端口,wsl子系统的localhost:port会被覆盖,优先转发宿住机。

posted on 2022-04-01 09:57  ccc#  阅读(576)  评论(0编辑  收藏  举报