你好,我正在尝试使用atlas mongodb 启动FIWARE orion上下文代理
mongodb+srv://<user>:****************@<domainid>.mongodb.net/<aut_db>
我已经尝试了docker run命令的多种变体,但我从未获得成功的连接
跟踪:
$ docker run --name orion -p 1027:1026 fiware/orion:latest -dbhost "<domainid>.mongodb.net/<aut_db>?ssl=true&retryWrites=true&w=majority" -dbuser <user> -dbpwd U9NjLafksdv9mavW -logLevel DEBUG
time=2021-12-01T14:38:42.188Z | lvl=INFO | corr=N/A | trans=N/A | from=N/A | srv=N/A | subsrv=N/A | comp=Orion | op=contextBroker.cpp[1063]:main | msg=start command line </usr/bin/contextBroker -fg -multiservice -ngsiv1Autocast -disableFileLog -dbhost <domainid>.mongodb.net/<aut_db>?ssl=true&retryWrites=true&w=majority -dbuser <user> -dbpwd ****** -logLevel DEBUG>
time=2021-12-01T14:38:42.188Z | lvl=INFO | corr=N/A | trans=N/A | from=N/A | srv=N/A | subsrv=N/A | comp=Orion | op=contextBroker.cpp[1137]:main | msg=Orion Context Broker is running
time=2021-12-01T14:40:23.011Z | lvl=ERROR | corr=N/A | trans=N/A | from=N/A | srv=N/A | subsrv=N/A | comp=Orion | op=mongoConnectionPool.cpp[220]:mongoConnect | msg=Database Startup Error (cannot connect to mongo - doing 100 retries with a 1000 millisecond interval)
time=2021-12-01T14:40:23.011Z | lvl=FATAL | corr=N/A | trans=N/A | from=N/A | srv=N/A | subsrv=N/A | comp=Orion | op=MongoGlobal.cpp[142]:mongoInit | msg=Fatal Error (MongoDB error)
time=2021-12-01T14:40:23.012Z | lvl=INFO | corr=N/A | trans=N/A | from=N/A | srv=N/A | subsrv=N/A | comp=Orion | op=contextBroker.cpp[591]:exitFunc | msg=Orion shutdown completed
有人知道我如何配置orion上下文代理来连接到mongo图集吗?
编辑:我已经检查过了,我可以使用mongoshell 从该服务器访问mongodb
Orion目前仅支持mongodb://
连接字符串,这些字符串是根据源代码中的-db
、-dbhost
、-rplSet
、-dbTimeout
、-dbuser
、-dbpwd
、-dbAuthMech
、-dbAuthDb
、-dbSSL
和-dbDisableRetryWrites
CLI参数(或默认值,如果省略(构建的。
Orion存储库中存在一个问题,目的是使其更加灵活,允许直接提供覆盖上述参数的连接字符串。
当这个问题出现时(欢迎投稿;(,您可以破解上面引用的Orion源代码,为您构建一个支持mongo+srv://
连接字符串的特定版本。
EDIT:-dbURI
终于实现了。它目前在telefonicaiot/fiware-orion:latest
dockerhub构建中可用,并将在Orion 3.11.0中可用(即将发布(。