返回信息流docker是通过dockerfile创建的,通过py文件里的代码连接MongoDB,代码如下:
```Python
db = MongoClient('mongodb://%s:%s@%s:27017' %(mongoUser, mongoPassword, mongoIP))[mongoDbName]
```
报错如下:
```
Unexpected error: <class 'pymongo.errors.ServerSelectionTimeoutError'>
127.0.0.1:27017: [Errno 111] Connection refused
```
```mongoUser, mongoPassword, mongoIP, mongoDbName```都是指定好的参数,我觉得问题应该不是在这儿,因为它压根就不让我连接啊(哭唧唧……)
上网查了很久但是都没有能解决问题的,比如删除mongod.lock文件;mongod --repair等等可能因为我是小白,对于这两个东西实在是只知其一想来想去,只能求助论坛上的小哥哥小姐姐们了希望有遇到过这个问题,了解或者用过docker or MongoDB的大神能够伸出援手,解救我于水火之中,真的感谢不尽!!!实在不行大家私下吐槽吐槽这两个软件也是可以哒哈哈哈哈
这是一条镜像帖。来源:北邮人论坛 / study-share / #188145同步于 2018/10/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
StudyShare机器人发帖
【问题】使用docker连接MongoDB总是connection refused啊啊啊,
Ysjm2012
2018/10/18镜像同步9 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
嗯嗯,是哒。python脚本在docker里面,数据库在外面,不过都在本机。
其实我是门外汉,docker是边用边学,所以我刚查了半天端口映射还是不知道它到底映射没映射出来我还有救么……
【 在 boke1208 的大作中提到: 】
: 看看端口映射没映射出来。。没看懂问题,数据库在外面,python脚本在docker里面吗?
懂了,就是docker内部服务想访问宿主机服务,可以根据这句话搜一下
我记得有个host docker internal,或者直接在docker里ifconfig看一下宿主机ip,可能直接访问那个ip就行。
还不行就漫咖啡一杯咖啡解决hhh
小问题hh,当然有救哈哈哈
【 在 Ysjm2012 (一片花开) 的大作中提到: 】
: 嗯嗯,是哒。python脚本在docker里面,数据库在外面,不过都在本机。
: 其实我是门外汉,docker是边用边学,所以我刚查了半天端口映射还是不知道它到底映射没映射出来我还有救么……
这两个我之前也试过了,报的错跟localhost还不一样
host.docker.internal的报错是`[Errno -3] Temporary failure in name resolution`
宿主机ip的报错是`[Errno 113] No route to host`
可能真的要麻烦大神了
【 在 boke1208 的大作中提到: 】
: 懂了,就是docker内部服务想访问宿主机服务,可以根据这句话搜一下
: 我记得有个host docker internal,或者直接在docker里ifconfig看一下宿主机ip,可能直接访问那个ip就行。
: 还不行就漫咖啡一杯咖啡解决hhh
这个怎么查呀?我对这块实在可以用一窍不通来概括了
【 在 kezhifeng 的大作中提到: 】
: 你这都是网络访问关系不通,查查整个通信链路吧。看你这环境应该都是同网段的,估计是你的IP配置有问题。
虽然不太懂您说的这些名词,但是我也觉得是网络的问题。机缘巧合之下,发现了无线是公用网络还是专用网络在防火墙设置上是有不同的,之前不知道为什么设定成了公用网络,改为专用网络之后配合相应的ip设置,就能连接上了。
【 在 kezhifeng 的大作中提到: 】
: 你这都是网络访问关系不通,查查整个通信链路吧。看你这环境应该都是同网段的,估计是你的IP配置有问题。
一般都把墙关了。。。指不定会屏蔽什么。。。除非是机房那种墙,策略都是你自己写的。
【 在 Ysjm2012 的大作中提到: 】
: 虽然不太懂您说的这些名词,但是我也觉得是网络的问题。机缘巧合之下,发现了无线是公用网络还是专用网络在防火墙设置上是有不同的,之前不知道为什么设定成了公用网络,改为专用网络之后配合相应的ip设置,就能连接上了。
: