WSL2的MongoDB指南针问题

时间:2020-02-08 11:30:08

标签: windows mongodb windows-subsystem-for-linux wsl-2

我在WSL2的一个容器内运行了一个MongoDB实例。

当我尝试在浏览器中通过localhost:27017发出请求时,即使显示错误,它也可以正常工作,因为我尝试使用HTTP协议访问数据库。

但是,当我尝试使用主机名localhost和端口27017从Compass访问我的数据库时,在30000ms之后我超时了,并且无法访问它。

有人知道为什么吗?

1 个答案:

答案 0 :(得分:1)

我只能使用WSL2 IP地址连接mongoDB实例。

您可以通过在WSL中运行此代码来获得它:

ip addr show eth0 | grep 'inet\b' | awk '{print $2}' | cut -d/ -f1

或Windows主机上Powershell中的这个:

[Regex]::Match((wsl -- ip addr show eth0), 'inet (?<IP>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\/').Groups["IP"].Value

坏消息:此IP在每次WSL2重新启动时都会更改。有一个go-wsl2-host为该IP添加主机并保持更新。但我从未使用过。