问题描述
错误是:
pymongo.errors.ServerSelectionTimeoutError: localhost:27017: [Errno 111] Connection refused,Timeout: 30s,Topology Description: <TopologyDescription id: 601833aec47f2f6e0a5ca109,topology_type: Single,servers: [<ServerDescription ('localhost',27017) server_type: Unknown,rtt: None,error=AutoReconnect('localhost:27017: [Errno 111] Connection refused')>]>
我使用端口 27018 的 docker 创建了一个映像。像这样:
docker run --name test -e MONGODB_DATABASE=ms-content-test -e MONGODB_USER=ms-content-test -e MONGODB_PASS=ms-content-test **-p 27018:27017** -d mongo
在用于测试的 config.py 文件中,我创建了连接,如下所示:
class TestingConfig:
TESTING = True
DEBUG = True
# Database Test
DB = os.environ.get('DB','ms-content-test')
USERNAME = os.environ.get('USERNAME','ms-content-test')
PASSWORD = os.environ.get('PASSWORD','ms-content-test')
HOST = os.environ.get('HOST','localhost')
PORT = int(os.environ.get('PORT',27018))
MONGO_URI = 'mongodb://{username}:{password}@{host}:{port}/{database}'.format(
username=USERNAME,password=PASSWORD,host=HOST,port=PORT,database=DB
)
现在,当我尝试测试应用程序时,端口 27018 不起作用。
使用端口27017,工作正常。
在 MONGO_URI 上,我已经尝试传递一些参数,例如 authSource="admin"
或使用 pymongo 变量进行连接,但没有任何效果。
内部就像Mongodb总是强制使用27017端口。 这是 mongoengine 的库:https://github.com/MongoEngine/mongoengine/blob/master/mongoengine/connection.py
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)