想必很多人在使用 WSL 时都遇到过与 Windows 主机通信的问题。在日常编程中,很常用的场景是在 Windows 中访问部署在 WSL 中的数据库、web 或其它服务等。Windows 本身是会做映射的,比如使用如下命令启动一个 http server:
1 | ➜ source git:(master) python -m http.server |
这时在 Windows 上访问 localhost:8000
是可以正常打开的。但在某些其它场景(如数据库连接时),该映射又会失效。可能是因为 WSL 默认只映射了 http 服务的端口?(存疑)
为了解决上述问题,我们需要一种手段来确保 Windows 主机能够轻松访问到 WSL。以下列举三种解决方式,并最后详细描述我的解决方案。