我正在努力找到通过docker脚本验证我的mongo db副本集的解决方案。我能够在服务器的本机mongo上实现目标但在docker镜像中我无法实现身份验证。(我是能够在docker图像上创建复制集。)
答案 0 :(得分:1)
我面临着同样的问题,我不得不以不同的顺序进行处理。 尝试先设置身份验证,然后创建复制。
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并使用副本和身份验证重新启动
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.now现在开始复制
rs.initiate();