docker安装mongo
Opened this issue · 0 comments
any86 commented
安装mongo
docker pull mongo
初始化容器
docker run -d -p 27017:27017 -v /data/mongo/database:/data --name mongo mongo --auth
解释下参数:
-p
: 把容器中的docker的端口映射到真实的服务器, 语法: 服务器端口 : 容器内端口
-v
: 把容器中的docker的存储目录映射到真实的服务器目录, 语法: 服务器真实文件夹 : 容器内目录
--name
: 给容器起个名, 这样后面docker exec
的时候, 可以直接使用这里起的名字, 我们这里起名"mongo"
--auth
: 默认mongo不需要用户密码也是可以登陆的, 只有开启了auth, 才能保证只有有权限的账号能登陆.
进入mongo容器
docker exec -it mongo /bin/bash
创建账户
- 先打开mongo
mongo
- 进入mongo命令行后, 首先切换到admin库. admin是默认存在的库.
use admin
- 进入admin库后就可以开始创建账户了.
db.createUser({
user: "root",
pwd: "xxxxxx",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})
这里创建了用户root, 密码为'xxxxxx', 角色为"可以"管理"所有数据库的管理员", 注意这里的"管理"不包括"增删改查", 所以请继续往下看.
给其他库授权
刚刚我们只是给了"root"用户管理所有数据库的权限,但是不包括"增删改查", 接下来我们给"root"用户对"xxxDB"的所有控制权限, 这权限对应的角色"dbOwner".
db.grantRolesToUser('root',[{role:'dbOwner',db:'xxxDB'}])
退出命令(exit)
退出mongo和退出容器的命令都是:
exit