通过docker脚本通过身份验证创建Mongodb复制集
我正在努力找到通过docker脚本对我的mongo db副本集进行身份验证的解决方案。我能够在服务器的本机mongo上实现目标,但在docker映像中我无法实现身份验证。(我也能够在docker映像上创建副本集)。我也面临同样的问题,我必须以不同的顺序进行这个过程。 尝试先设置身份验证,然后创建复制 1.启动docker mongo而不使用副本或身份验证通过docker脚本通过身份验证创建Mongodb复制集,mongodb,docker,replicaset,Mongodb,Docker,Replicaset,我正在努力找到通过docker脚本对我的mongo db副本集进行身份验证的解决方案。我能够在服务器的本机mongo上实现目标,但在docker映像中我无法实现身份验证。(我也能够在docker映像上创建副本集)。我也面临同样的问题,我必须以不同的顺序进行这个过程。 尝试先设置身份验证,然后创建复制 1.启动docker mongo而不使用副本或身份验证 docker run --rm -p 22222:27017 -v datadb1:/data/db --name mongonew mo
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.停止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.现在启动复制
rs.initiate();
该身份验证是否可以通过docker启动时执行的脚本(作为
CMD
指令)来实现?@VonC:我启用了复制集,指定了唯一的名称,并在mongo配置中创建了具有所需权限的密钥文件,然后启动docker映像。我启动replicaset,创建了一个具有userAdminAnyDatabase角色的用户。在本机mongo上执行此步骤后,我无法在没有身份验证的情况下执行该命令,但在docker中它仍然可以匿名访问。Ok。docker实例中的日志()中是否有任何线索,这可以解释为什么匿名访问仍然可以通过?日志中没有任何线索。我与mongostat进行了检查。