可以使用 CLI 向 docker mongo 实例进行身份验证,但不能通过任何其他方式进行身份验证
Can authenticate to docker mongo instance with CLI, but not by any other means
我有一张我开始使用的 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>..."
但我无法以任何其他方式进行身份验证。
连接似乎不是问题...
我的笔记本电脑上有一个相同的设置,运行良好...
经过一些摆弄,我终于弄清楚了问题所在。
看来 mongodb on windows 可以作为本地服务启动,它在 127.0.0.1:27017 上运行数据库。
所以我使用 Robo3T 连接到这个本地实例而不是我映射的 docker mongo 实例。
使用 Robo3T,当我取消勾选 'Perform Authentication'.
时,我可以连接到这个本地实例
在Robo3T中你可以选择->右击'Open shell'->db.hostInfo()
->F5->以文本模式查看结果。
这将提供有关我的台式计算机的信息
而 docker exec -it mongodb mongo --eval 'db.hostInfo()'
会显示关于我的 docker 图片的信息。
我的解决方案是在运行本地数据库的台式机上禁用 mongo 服务。
这样做会让 docker run -p 27017:27017 -it --name mongodb <myregistry>.azurecr.io/movo.mongodb
绑定到我的 docker 容器 127.0.0.1:27017
我有一张我开始使用的 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>..."
但我无法以任何其他方式进行身份验证。 连接似乎不是问题...
我的笔记本电脑上有一个相同的设置,运行良好...
经过一些摆弄,我终于弄清楚了问题所在。
看来 mongodb on windows 可以作为本地服务启动,它在 127.0.0.1:27017 上运行数据库。
所以我使用 Robo3T 连接到这个本地实例而不是我映射的 docker mongo 实例。 使用 Robo3T,当我取消勾选 'Perform Authentication'.
时,我可以连接到这个本地实例在Robo3T中你可以选择->右击'Open shell'->db.hostInfo()
->F5->以文本模式查看结果。
这将提供有关我的台式计算机的信息
而 docker exec -it mongodb mongo --eval 'db.hostInfo()'
会显示关于我的 docker 图片的信息。
我的解决方案是在运行本地数据库的台式机上禁用 mongo 服务。
这样做会让 docker run -p 27017:27017 -it --name mongodb <myregistry>.azurecr.io/movo.mongodb
绑定到我的 docker 容器 127.0.0.1:27017