我正在开发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
我运行了docker检查,端口暴露如下:
"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代码,并尝试通过连接连接到MongoDb扩展mongodb://locahost:27017但我得到了拒绝ERRCONN。我尝试过使用Mongodb的所有组合://localhost、127.0.0.1、172.17.0.2和0.0.0.0,但没有成功。而且当我运行API时;端口27017";主动拒绝连接">
我担心Windows10、Bash、VS Code和Docker之间存在某种冲突,它们无法相互交谈。任何帮助都将不胜感激。
浏览这里的其他一些答案,我发现如果您运行"码头机器ls";你得到了运行docker的虚拟机的IP,如果使用VirtualBox,这就是你需要使用的IP。直接连接到Mongo。干杯