我正在努力寻找通过 docker 脚本对我的 mongo db 副本集进行身份验证的解决方案。我能够在服务器的本机 mongo 上实现目标,但在 docker 映像中我无法实现身份验证。(我能够创建docker 镜像上的副本集)。
问问题
1596 次
1 回答
3
我遇到了同样的问题,我不得不以不同的顺序完成这个过程。尝试先设置身份验证,然后创建复制。
1.启动 docker mongo 没有副本或身份验证
docker run --rm -p 22222:27017 -v datadb1:/data/db --name mongonew mongo:2.6
2.连接mongo并添加你想要的用户。并确保您添加了一个超级用户,我们稍后将使用此用户启动复制
db.createUser({ user: "superuser", pwd: "superuser", roles: [ "userAdminAnyDatabase","readWriteAnyDatabase","dbAdminAnyDatabase","clusterAdmin" ]})
3.stop docker mongo 并使用replica和auth重新启动
docker run --rm -p 22222:27017 -v datadb1:/data/db --name mongonew mongo:2.6 --replSet replocalnew --auth
4.现在连接mongo。使用我们创建的超级用户进行身份验证。
db.auth("superuser","superuser");
5.现在开始复制
rs.initiate();
于 2018-07-25T13:18:21.037 回答