使用docker部署mongodb

15 篇文章 1 订阅
1 篇文章 0 订阅

如题,使用docker部署mongodb,并实现持久化。之前按网上介绍的方法大多在docker exec这一步报错了,原因是mongodb新老版本差异,记录下。

1.标题拉取镜像
docker pull mongo:latest
2.运行
  1. 用-v做目录映射等于做了持久化,容器删除新建后数据还在。(如物理机目录不存在,run时会自动创建)
  2. 端口映射是一定要有的,不然在宿主机上无法连接
  3. –auth 需要密码才能访问容器服务
docker run --name mongodb -v /data/mongodb:/data/db -d -p 27017:27017 mongo --auth
3.以mongosh方式进入,并切换到admin数据库

很多文章使用docker exec -it mongodb mongo会报错,因为新版/bin目录里mongo文件变成了mongosh

docker exec -it mongodb /bin/mongosh admin

或以下方式,一样

docker exec -it mongodb /bin/mongosh
use admin
docker exec -it mongodb /bin/bash
/bin/mongosh admin
4. 创建对应的用户赋予权限,并使用新用户登录
db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
db.auth('admin', '123456')
5. 测试

常用mongodb命令

show databases //查看所有数据库
show tables //查看所有表(集合)
use test //切换数据库(如不存在则先自动创建)
db.user.insert( { _id: 1, name: "kudaren", age: "29" } ) //insert
db.user.find();//select

这就完成了,很方便。持久化我测试了,容器删除后,重新用run跑起来一个,之前创建的用户和数据库还在。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值