wsl2会和windows公用端口吗?

ponponon
  • 1.1k

问题概括:

WSL中开启redis会占用windows的6379端口。

windows 中没有安装redis

问题描述:

我在wsl2中安装了redis,在未开启WSl2的时候,输入在powershell中输入如下命令:

PS C:\Users\17293> netstat -aon| findstr 6379
PS C:\Users\17293> netstat -aon| findstr 6379
PS C:\Users\17293>

可以发现没有任何输出,说明此时没有应用占用6379端口。
但是开启WSL2之后,从powershell看就有被占用

PS C:\Users\17293> netstat -aon| findstr 6379
  TCP    127.0.0.1:6379         0.0.0.0:0              LISTENING       11796
  TCP    [::1]:6379             [::]:0                 LISTENING       11796
安装过程如链接中所示:Ubuntu20 WSL 安装Redis 报错Connection refused

过程截图如下:
重启计算机,没有占用6379
image.png
开启WSL,并开启redis服务
image.png
再次查看,发现在开启wsl之后,6379端口被占用
image.png
windwos的ip地址
image.png
wsl的ip地址
image.png

回复
阅读 5.5k
2 个回答

微软官方的说法和实际体验来看,确实是公用的。

How do I access a port from WSL in Windows?

WSL shares the IP address of Windows, as it is running on Windows. As such you can access any ports on localhost e.g. if you had web content on port 1234 you could https://localhost:1234 into your Windows browser.

WSL的好处和虚拟机的区别是,很方便的可以当作一台电脑使用,文件能相互访问,接口共用,所以叫子系统,不叫虚拟机,虽然本质是虚拟机,但是因为这样子,工作起来就很方便,配置的时候不需要管太多东西,相当于同时使用两个系统。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏