docker容器内的Mongodb身份验证
这就是我的处境。我有一个mongodb docker容器实例,需要更改管理员密码。现在,我有了连接到mongodb的凭据,使用主机和ip以及凭据。我可以通过ssh访问服务器,我需要更改管理员密码。但如果我这样做docker容器内的Mongodb身份验证,mongodb,docker,authentication,server,Mongodb,Docker,Authentication,Server,这就是我的处境。我有一个mongodb docker容器实例,需要更改管理员密码。现在,我有了连接到mongodb的凭据,使用主机和ip以及凭据。我可以通过ssh访问服务器,我需要更改管理员密码。但如果我这样做 mongo manager --port 27017 -u "admin" -p "--------" --authenticationDatabase "manager" 给我一个身份验证错误。我不能运行任何管理命令,例如:db.auth'admin',password' 我的问题是
mongo manager --port 27017 -u "admin" -p "--------"
--authenticationDatabase "manager"
给我一个身份验证错误。我不能运行任何管理命令,例如:db.auth'admin',password'
我的问题是,如果我这样做了,我怎样才能阻止mongo进入容器
docker exec -it mongodb bash
任何其他解决办法都会奏效。目标是更改密码或创建新的管理员用户来控制用户和角色
非常感谢你的帮助。如果需要更多信息,请告诉我。您确定您的authenticationDatabase是manager吗 无论如何,您不需要停止mongo进程来与数据库交互,而是使用mongo shell以必要的权限对用户进行身份验证 获取运行mongo容器的访问权限: $docker exec-it«容器名称»bash 使用mongo shell进行身份验证: $mongo-u admin-p 123admin-authenticationDatabase admin 验证后,运行shell脚本切换到保存用户数据的数据库 $use admin 运行changeUserPassword命令更改密码: $db.changeUserPasswordadmin,admin123
就这样。谢谢您的回答!数据库身份验证为admin。