Windows10下VS Code无法连接Docker中MongoDB容器的问题求助
解决Docker(VirtualBox VM)中MongoDB容器连接失败问题
核心原因
你使用的是VirtualBox虚拟机运行Docker,Windows主机的localhost/127.0.0.1指向Windows本地,而非Docker所在的虚拟机;容器内部IP(如172.17.0.2)仅在虚拟机网络内可见,Windows主机无法直接访问,这是连接被拒绝的关键。
解决步骤
获取Docker虚拟机的IP地址
打开运行Docker的Bash终端,执行以下命令查看虚拟机的网络IP:ip addr找到类似
eth0或enp0s3的网卡条目,对应的inet地址就是虚拟机IP(通常格式为192.168.x.x,比如192.168.99.100)。修改MongoDB连接字符串
将连接字符串替换为虚拟机IP+端口,示例:mongodb://192.168.99.100:27017用你实际查到的虚拟机IP替换上述地址。
验证连通性
在Windows的PowerShell或CMD中执行命令,测试虚拟机端口是否可访问:Test-NetConnection 192.168.99.100 -Port 27017返回
TcpTestSucceeded: True则说明端口连通正常。
额外排查点
- 确认Docker容器处于运行状态:执行
docker ps查看容器状态是否为Up - 检查Windows防火墙是否拦截了对虚拟机IP的27017端口访问,可临时关闭防火墙测试
- 确认VirtualBox虚拟机的网络模式为NAT或桥接,且未限制端口转发
内容的提问来源于stack exchange,提问作者Legend Reborn
相关产品推荐
相关产品推荐

