centos7 在docker中安装mongodb
一、搜索docker的mongo镜像
docker search mongo
二、拉取mongo最新镜像
docker pull mongo
三、创建好mongo存储路径,便于后面做挂载
mkdir -p /data/mongo
四、运行镜像
docker run --restart=always --name mongo -v /data/mongo:/data/db -p 27017:27017 -d mongo --auth
返回dockerid说明执行成功
指令说明
--restart=always
表示重启自动运行
--name
设置容器名称
-v
挂载目录 宿主机目录/容器目录
-p
端口映射 宿主机/容器
-d
表示后台运行
--auth
表示链接需要认证,推荐加上,也可以不加
五、查看运行的容器
docker ps -a
六、创建mongo的用户及密码
首先进入容器
docker exec -it mongo bash
进入mongo
mongo
使用admin
use admin
创建一个账户密码.(注意:没有创建过用户才可以不需要auth直接创建,否则先登录db.auth('zhangsan','123456')
)才能创建,也就是只要创建过一次用户了都需要先auth才能操作,或者也可以把/data/mongo目录全部清空创建新容器(会丢失数据)
db.createUser({user:"zhangsan",pwd:"123456",roles:[{role:'root',db:'admin'}]})
如果需要退出mongo,执行指令exit
,图如下
MongoDB基本的角色
1.数据库用户角色:read、readWrite;
2.数据库管理角色:dbAdmin、dbOwner、userAdmin;
3.集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4.备份恢复角色:backup、restore;
5.所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6.超级用户角色:root 这个角色的权限最大
七、配置mongo的远程访问,在mongo容器里修改配置文件
继续第六步骤不要退出容器,或者再重新进入容器docker exec -it mongo bash
先安装好vim
apt-get updateapt-get install vim -y
修改mongo配置文件,运行远程访问
vim /etc/mongod.conf.orig
将其中的 bindIp: 127.0.0.1 注释或者改为0.0.0.0,保存:wq并退出
然后exit
退出mongo容器回到宿主机,重启docker让配置生效
docker restart mongo
八、测试远程连接mongodb,下图用的navicat
1、如果不使用账号密码登陆的话会报错
2、使用正确的账号密码
九、测试常用的一些mongo指令
1、进入容器、mongo、授权认证
docker exec -it mongo bashmongouse admindb.auth('zhangsan','123456')
返回1说明登录成功了
2、创建数据库,并插入和查询测试数据
use testdb.test.save({name: 'test', age: '18'})db.test.find();
navicat中查看
其他指令:
show dbs
查看数据库
show collections
查看集合
作者:nickchou
来源链接:https://www.cnblogs.com/nickchou/p/13676111.html
版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。
2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。