我有一个开始使用的bitnami mongo图像:
docker run -p 27017:27017 -it --name mongodb <myregistry>.azurecr.io/movo.mongodb
我使用脚本在mongo数据库中播种,从脚本的左手可以看到输出。
问题: 我可以使用mongo-cli连接数据库。 但是,我不能使用相同的连接字符串使用Robo3T或C#解决方案进行身份验证。
这有效:
docker exec -it mongodb mongo admin -u movoproto -p "...<MyPwd>..."
但是我无法以任何其他方式进行身份验证。 连接似乎不是问题...
我在笔记本电脑上有一个完全相同的设置,可以正常工作...
答案 0 :(得分:0)
经过一番摆弄之后,我弄清楚了问题到底出在哪里。
看来Windows上的mongodb可以作为本地服务启动,该服务在127.0.0.1:27017上运行数据库。
因此,使用Robo3T我连接到该本地实例,而不是我的映射泊坞窗蒙戈实例。 使用Robo3T,当我取消“执行身份验证”时,我可以连接到此本地实例。
在Robo3T中,您可以选择->右键单击“打开外壳”-> db.hostInfo()
-> F5->以文本模式查看结果。
这将提供有关我的台式计算机的信息
docker exec -it mongodb mongo --eval 'db.hostInfo()'
将显示有关我的docker映像的信息。
我的解决办法是禁用运行本地数据库。
在我的台式机蒙戈服务执行此操作将使docker run -p 27017:27017 -it --name mongodb <myregistry>.azurecr.io/movo.mongodb
绑定到127.0.0.1:27017处的docker容器