通过docker脚本进行身份验证的Mongodb replicaset创建

时间:2015-05-04 06:29:55

标签: mongodb docker replicaset

我正在努力找到通过docker脚本验证我的mongo db副本集的解决方案。我能够在服务器的本机mongo上实现目标但在docker镜像中我无法实现身份验证。(我是能够在docker图像上创建复制集。)

1 个答案:

答案 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();