我无法从 VS Code 连接到 MongoDb Docker 容器

问题描述 投票:0回答:2

我正在开发 Rest API 并尝试连接到 MongoDb Docker 容器。我在一台 Windows 10 计算机上,并设法使用 Bash 和 Oracle Virtualbox VM 启动并运行 Docker。我在 Bash 中运行了 $ docker run --rm --name mongo -d -p 27017:27017 -v mongodbdata:/data/db mongo:4.0.4 。
我运行了 dockerspect ,端口暴露如下:

"NetworkMode": "default",
        "PortBindings": {
            "27017/tcp": [
                {
                    "HostIp": "",
                    "HostPort": "27017

在网络设置中我有

NetworkSettings": {
        "Bridge": "",
        "SandboxID": "f7d140fc6f524c8e854ced371c19ff4661f899bc96a42f7e817b301a9a514887",  
        "HairpinMode": false,
        "LinkLocalIPv6Address": "",
        "LinkLocalIPv6PrefixLen": 0,
        "Ports": {
            "27017/tcp": [
                {
                    "HostIp": "0.0.0.0",
                    "HostPort": "27017"
                }
            ]
        },
        "SandboxKey": "/var/run/docker/netns/f7d140fc6f52",
        "SecondaryIPAddresses": null,
        "SecondaryIPv6Addresses": null,
        "EndpointID": "fafa4bd9c05743874fa6783fce5b40c74cea0032cf51f35182efdc5eafd3156e", 
        "Gateway": "172.17.0.1",
        "GlobalIPv6Address": "",
        "GlobalIPv6PrefixLen": 0,
        "IPAddress": "172.17.0.2"

 

我正在使用 c# Visual Studio Code 并尝试使用连接 mongodb://locahost:27017 连接到 MongoDb 扩展,但我收到 ERRCONN REFUSED。我尝试过使用 Mongodb:// localhost、127.0.0.1、172.17.0.2 和 0.0.0.0 的所有组合,但没有运气。另外,当我运行 API 时,我收到“端口 27017”主动拒绝连接”。
我担心 Windows10、Bash、VS Code 和 Docker 之间存在某种冲突,它们无法相互通信。 任何帮助将不胜感激。

c# mongodb docker
2个回答
0
投票

查看这里的一些其他答案,我发现如果您运行“docker-machine ls”,您将获得运行 docker 的虚拟机的 IP,这就是使用 VirtualBox 时需要使用的 IP。立即连接到 Mongo。 干杯!


0
投票

我能够使用以下字符串从主机连接到容器:

mongodb://127.0.0.1:27017/?authSource=admin&readPreference=primaryPreferred&retryWrites=false&directConnection=true

directConnection=true 对我有帮助。希望这对您有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.