mongodb在docker中的部署以及数据的导入

docker部署

  • docker search mongo
  • docker pull mongo
  • docker images
  • docker run -itd --name mongo -p 27017:27017 mongo --auth
  • docker ps
  • docker exec -it mongo mongo admin
  • db.createUser({ user:‘admin’,pwd:‘123456’,roles:[ { role:‘userAdminAnyDatabase’, db: ‘admin’}]});
  • db.auth(‘admin’, ‘123456’)

到这里似乎就已经完成了。。接下来我打开robot连接

but !!

当我开始creat database,点击create的时候,它就会报错👇

not authorized on test to execute command { listCollections: 1.0 }...

解决方法

重新建立一个user,修改它的权限为root

  • docker exec -it 99511e3166ed bash
  • mongo
  • exit
  • mongo -u admin -p 123456
  • show dbs;
  • use admin
  • db.createUser({user: “root”,pwd: “123456”,roles: [{ role: “root”, db: “admin” }]});

mongodb导入数据

  • 先将宿主机上的数据copy到容器中(拷贝到mongodb的bin目录下,可以在进入mongodb容器的bin目录之后通过ls来查看是否拷贝成功)
docker cp  /Users/doris/Documents/eportalplus   mongodb:/bin/
  • 进入容器
docker exec -it mongodb bash
  • 恢复到数据库实例(这里要先在robot中建立一个eportalplus数据库)
mongorestore -d eportalplus /bin/eportalplus
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值