手记

访问mongodb 容器失败

访问mongodb容器一直报错,提示com.mongodb.MongoSecurityException,百度了一下,说是要对mongodb进行插数据,需要有用户名和密码才有权限,下面就来学习下如何创建用户名和密码:

创建需要验证用户权限的 MongoDB 的容器和创建普通 MongoDB 容器区别不大,只是需要在命令末尾添加 --auth 参数,具体操作如下:

docker run -p 27017:27017 -v <LocalDirectoryPath>:/data/db --name docker_mongodb -d mongo --auth

首先登陆mongdb容器:

docker exec -it docker-mongodb mongo admin

其中docker-mongodb是我的mongodb容器名。

进入命令行后,执行:

db.createUser({ user: 'admin', pwd: 'admin', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });

创建用户名和密码为admin的用户,设置角色。该用户可以查看所有数据库,但不能创建和删除数据库,如果要使用可以创建数据库的用户,权限使用 root。

创建用户名为yubuyun,密码为123456,拥有数据库weblog的读写权限。

db.createUser(
  {    user: "yubuyun",
    pwd: "123456",
    roles: [ { role: "readWrite", db: "weblog" } ]
  }
)

docker run -d -p 8081:8081 --name fileserver --link docker-mongodb:mongodb ed27e79af407



作者:云师兄
链接:https://www.jianshu.com/p/508e9698063a


0人推荐
随时随地看视频
慕课网APP