使用docker部署mongodb

有目标就不怕路远。年轻人.无论你现在身在何方.重要的是你将要向何处去。只有明确的目标才能助你成功。没有目标的航船.任何方向的风对他来说都是逆风。因此,再遥远的旅程,只要有目标.就不怕路远。没有目标,哪来的劲头?一车尔尼雷夫斯基

导读:本篇文章讲解 使用docker部署mongodb,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

如题,使用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跑起来一个,之前创建的用户和数据库还在。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/133972.html

(0)

相关推荐

发表回复

登录后才能评论
半码博客——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!