docker 安装 MongoDB 就是这么简单?

废话不多说,上才艺

mongo docker 链接:https://hub.docker.com/_/mongo?tab=description

1.拉取最新mongo镜像

docker pull mongo

2.创建相关的挂载目录

mkdir -p /home/config/docker/mongo
mkdir -p /home/config/docker/mongo/db
mkdir -p /home/config/docker/mongo/configdb

3. 启动mongo镜像

docker run --restart=always -d --name mongodb -p 27017:27017 -v /home/config/docker/mongo/configdb:/data/configdb/ -v /home/config/docker/mongo/db/:/data/db/ mongo --auth --wiredTigerCacheSizeGB 2

说明:默认情况下,wiredTigerCacheSizeGB无论您对容器施加了多少内存限制,Mongo都会将其设置为与主机总内存成比例的值。在这种情况下,您需要将缓存大小设置为适当的值,同时考虑到您可能在容器中运行的任何其他进程也将占用内存。以上面的示例为例,您可以将缓存大小配置为使用2GB;--auth 开启权限验证;--restart=always是docker重启时镜像跟着重启

 

4. 查看启动镜像

docker ps

5. 创建mongo的管理员

#使用admin账号进入mongo
docker exec -it mongodb mongo admin
#创建mongo管理员,并且赋予权限
db.createUser({ user: 'admin', pwd: 'mongoAdmin', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
#退出登录
exit

6. 创建普通mongo账户

docker exec -it mongodb mongo admin
# 校验身份信息
use admin
db.auth("admin","mongoAdmin")

# 创建账号,密码数,据库
use demo
db.createUser({ user: 'demo', pwd: 'demoPwd', roles: [ { role: "readWrite", db: "demo" } ] });

# 验证是否成功
db.auth("demo","demoPwd");

#退出
exit

7. 基础命令测试

docker exec -it mongodb mongo admin

use demo
db.auth("demo","demoPwd")
db.demo.insert({"_id":"001","name":"xiaohuahua"})
db.demo.find()
db.demo.find({_id:"001"})

exit

 

注意事项:

  • too many users are authenticated  退出重新进入mongo
  • Failed to acquire database information from privileges 退出重新登录
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值