docker mongodb安装
- docker mongodb安装
- 查看镜像
- 拉取最新镜像
- 创建目录
- 启动服务
- 登录mongodb,创建用户及数据库
- mongo登录测试用户权限
- 客户端登录测试
docker mongodb安装
查看镜像
1、查看 MongoDB 版本
MongoDB 镜像库地址: https:///_/mongo?tab=tags&page=1
docker search mongodb
拉取最新镜像
docker pull mongo:latest
本地查看镜像:
创建目录
sudo mkdir -p /home/data/mongodb/data/{db,logs}
sudo chmod 777 -R /home/data/
启动服务
执行命令:
docker run -p 27017:27017 --name mongodb -v /home/data/mongodb/data/db:/data/db -v /home/data/mongodb/data/logs:/data/logs --restart=always -d mongo:latest --wiredTigerCacheSizeGB 10 --auth
参数说明:
-p 27017:27017 :映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务。
–name mongodb : 给启动容器起一个名称
-v /home/data/mongodb/data/db:/data/db : 将宿主机/home/data/mongodb/data/db数据目录挂在到容器/data/db目录
-v /home/data/mongodb/data/logs:/data/logs : 将宿主机/home/data/mongodb/data/log日志目录挂在到容器/data/logs目录
-d mongo:latest 后台进程启动
–wiredTigerCacheSizeGB 10 :设置mongodb使用内存大小
–auth:需要密码才能访问容器服务。
登录mongodb,创建用户及数据库
1、创建一个名为 root,密码为 Dszn@2020,角色为超级管理员,数据库为admin权限的用户,如果使用其他角色,需要授权表,用户等各种权限,操作比较麻烦,这里就直接使用超级用户角色。
db.createUser({ user: 'admin', pwd: 'Dszn@2020', roles: [ { role: "root", db: "admin" } ] }); #创建用户
db.auth('admin', 'Dszn@2020'); #使用admin用户登录
show dbs; #查看所有的库
2、创建beacon数据库用户
use beacon;
db.beacon.insert({"name":"测试创建数据库beacon"});
db.createUser({ user: 'root', pwd: 'Dszn@2020', roles: [ { role: "dbOwner", db: "beacon" } ] });
db.auth('root','Dszn@2020');
mongo登录测试用户权限
1、使用刚创建的admin超级管理员用户登录。
mongo --host 192.168.0.85 -u “root” -p’Dszn@2020’ --authenticationDatabase “admin”
参数说明:
–host: 登录mongodb服务器ip地址
-u: 登录用户
-p:登录密码
–authenticationDatabase: 授权数据库
2、使用刚创建的root用户登录
mongo --host 47.119.120.197 -u "root" -p'Dszn@2020' --authenticationDatabase "beacon"
show dbs;
use beacon;
show collections;
db.beacon.find();
常用命令:
use admin
db.system.users.remove({user:“root”}); //删除root用户
db.system.users.find(); 查看所有用户
db.addUser(“root”,“123456”);//已经存在的用户更改密码
用户user02添加admin数据库的readWrite角色
db.grantRolesToUser( “user02”, [ { role: “readWrite”, db: “admin” }, { role: “user02”, db: “admin” } ] )
更新用户user02具有admin数据库readWrite角色为read角色。
use admin
db.updateUser( “user02”, { customData: { info: “user for user02” }, roles: [ { role: “user02”, db: “admin” }, { role: “read”, db: “admin” } ] } )
客户端登录测试
使用客户端登录,录入登录服务器ip地址,端口号,登录用户,密码测试验证
使用用户登录,需要录入账号,密码,登录数据库,如果没有用户,不需要录入,使用默认的即可。
登录完成如下,可以看到数据库及表结构
以上标识mongodb安装完成。