在centos7上使用 docker安装mongodb挂载宿主机以及创建其数据库的用户名和密码(最新版本)
前言
因为博主在使用docker安装mongodb并挂载时,发现在网上搜了好多都是以前版本的mongodb,并且按照他们操作总是在进入mongodb出问题,博主搞了好久终于弄好了,故写下博客,供有需要的的人参考。博主安装和官网有些区别,想看官网快速搭建的——>[Mongodb官网快速指南]<——(https://www.mongodb.com/docs/manual/tutorial/install-mongodb-community-with-docker/ "Mongodb官网快速指南")废话不多说开搞!
一、安装mongodb
1.1查看版本(不想看版本的,这一步可以跳过)
docker search mongo

1.2拉取mongodb镜像
# 默认下载最新版本(也就是latest)
docker pull mongo
# 上面也可以写成
docker pull mongo:latest
##上面代码不行,提示你没权限,你就按照提示这上面代码前sudo(使用的账户是root权限)
sudo docker pull mongo

1.3.查看本地已下载镜像,并查看是否下载mongo镜像
docker image ls -a

1.4.在宿主机上挂载并运行
# 1.4.1首先创建一个要挂载的文件(这里-p后面的文件地址就写你自己想要创建的)
mkdir -p /data/docker_volume/mongo/data
# 1.4.2.然后运行容器并挂载
## 需要验证
docker run -p 27017:27017 --name mymongo -v /data/docker_volume/mongo/data:/data/db -d mongo --auth
##不需要验证
docker run -p 27017:27017 --name mymongo -v /data/docker_volume/mongo/data:/data/db -d mongo
# 1.4.3.查看是否运行
docker ps -a
在上面的命令中,几个命令参数的详细解释如下:
-p 映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务
-v 为设置容器的挂载目录,这里是将本机的“/data/docker_volume/mongo/data”目录挂载到容器中的/data/db中,作为 mongodb 的存储目录
--name 为设置该容器的名称
-d 设置容器以守护进程方式运行(后台运行)
–auth 需要验证就加,不需要验证,就去掉。默认mongodb是不使用用户认证

1.5.设置mongodb随docker自启动(这一步可加可不加,看你个人)
docker update mymongo --restart=always
注意:这里的mymongo是容器的名字(上面1.4.2哪里运行容器--name后起的名字),不是镜像的名字。
二、创建其数据库的用户名和密码
①如果你不需要设置用户和密码,下面就不用看了,直接可以连接mongo了(这种就像是裸奔不安全)
②如果你在上面 容器运行挂载选择需验证方式(在1.4.2处)
2.2.1 首先 登录mymongo容器,进入admin数据库
docker exec -it mymongo mongosh admin

2.2.2 然后 按照 2.3.4步骤往下走
③其余的就往下看
2.3.1.进入mongo容器
docker exec -it mymongo /bin/bash

注意:这里的mymongo是容器的名字,不是镜像的名字。(忘记容器名字,可使用docker ps -a 查看容器名)

2.3.2.进入mongosh中
# 进入mongo shell
mongosh
注:mongosh 6.0版本之后使用,mongo 6.0版本之前使用,博主就是在这里出问题的,博主安装最新mongodb版本,但是使用的是 mongo 所以一直出现问题:bash: mongo: command not found


2.3.3.进入admin数据库
use admin

2.3.4 创建一个用户,mongodb默认没有用户
# 1.这里创建用户名为root,密码为mongo2023,角色(该用户的权限)为root,数据库为admin(你们按照你们自己的设置)
# 用户名:root,密码:mongo2023,角色:root,数据库:admin
db.createUser({user:'root',pwd:'mongo2023',roles:[{role:'root',db:'admin'}]})
# 2.认证登录db.auth('用户名','密码'),打印1则代表认证通过
db.auth('root','mongo2023')

到这里就完成了创建用户和设置密码,如果要退出 Ctrl+D 或者 exit 退出mongodb
三、客户端连接mongodb
如果刚才的安装是在服务器上,想远程连接mongodb还请先查看服务器端口27017放行(对外开放这个端口)

在centos7上使用 docker安装mongodb挂载宿主机以及创建其数据库的用户名和密码(最新版本)的更多相关文章
- 在centos7上用docker安装宝塔面板
在centos7上用docker安装宝塔面板 1. [root@web01 ~]# systemctl enable docker 2. [root@web01 ~]# docker pull c ...
- docker 安装redis , 让宿主机可以访问
1, docker 拉去最新版本的redis docker pull redis #后面可以带上tag号, 默认拉取最新版本 2, docker安装redis container 安装之前去定义我们的 ...
- docker 启动mysql 挂载宿主机目录
在使用docker run 运行镜像获取容器时,有些容器会自动产生一些数据,为了这些数据会因为container (容器)的消失而消失,保证数据的安全,比如mysql 容器在运行中产生的一些表的数据, ...
- MongoDB如何设置权限(类似关系型数据库的用户名和密码)
MongoDB 缺省是没有设置鉴权的,业界大部分使用 MongoDB 的项目也没有设置访问权限.这就意味着只要知道 MongoDB 服务器的端口,任何能访问到这台服务器的人都可以查询和操作 Mongo ...
- docker安装mysql挂载宿主本地目录资源后无法启动的问题
可能是权限问题,添加--privileged=true参数: docker run -p : --name zsmysql -v $PWD/data:/var/lib/mysql -v $PWD/lo ...
- Linux平台安装MongoDB及使用Docker安装MongoDB
一.Linux平台安装MongoDB MongoDB 提供了 linux 各发行版本 64 位的安装包,你可以在官网下载安装包. 下载地址:https://www.mongodb.com/downlo ...
- Docker 安装 mongoDB(五)
Docker 安装 mongoDB 1.搜索docker镜像(可以看到搜索的结果,这个结果是按照一定的星级评价规则排序的) docker search mongo 2.拉取docker的mongo镜像 ...
- Docker01 centos系统安装、centos安装docker、docker安装mongoDB
1 centos系统安装 本博文是基于 centos6.5 的,利用VMware 虚拟机搭建 centos6.5 系统 1.1 centos6.5资源获取 1.2 安装 1.2.1 新建虚拟机 1.2 ...
- MongoDB学习笔记二:使用Docker安装MongoDB
目录 Docker安装MongoDB Docker给MongoDB设置用户密码 NoSQL Manager for MongoDB连接 为admin赋权限 上一个笔记介绍了Windows下安装Mong ...
- 在CentOS7上通过RPM安装实现LAMP+phpMyAdmin过程全记录
在CentOS7上通过RPM安装实现LAMP+phpMyAdmin过程全记录 时间:2017年9月20日 一.软件环境: IP:192.168.1.71 Hostname:centos73-2.sur ...
随机推荐
- 10/28-29_String类_SrtingBuffer类_Interger类_笔记
API:应用程序编程接口 String功能 public String replace (char oldchar ,char newchar); //符串中某一字符被一新字符替换 public St ...
- 带你掌握利用Terraform不同数据源扩展应用场景
本文分享自华为云社区<利用Terraform不同数据源扩展应用场景>,作者: kaliarch . 一 背景 在生产环境中使用Terraform进行基础设施编排,通常又一些信息是通过其他外 ...
- python笔记:第十二章文件
1.打开文件 位于自动导入的模块IO中,无需手动导入. f = open('D:\M\test.txt') 若文件不存在,则报错 Traceback (most recent call last): ...
- 打造原生 WebGL 2D 引擎:一场创意与技术的融合
打造原生 WebGL 2D 引擎:一场创意与技术的融合 1.引言 在当今数字化时代,网页的功能越来越丰富,已经远远超越了传统的文本和图片呈现.我们生活在一个充满交互性和视觉魅力的网络世界.每天都会遇到 ...
- Cilium 系列-3-Cilium 的基本组件和重要概念
系列文章 Cilium 系列文章 前言 安装完了,我们看看 Cilium 有哪些组件和重要概念. Cilium 组件 如上所述,安装 Cilium 时,会安装几个运行组件(有些是可选组件), 它们各是 ...
- echarts-for-react:实时更新数据
解决方案 echarts 注解 详细链接 https://echarts.apache.org/zh/api.html#echartsInstance.setOption 参考链接 https://b ...
- React:TypeError: Cannot read properties of undefined (reading 'map')
解决方案 js中?问号代表可选项 可选链式操作符 参考链接 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Oper ...
- Cilium系列-12-启用 Pod 的 BBR 拥塞控制
系列文章 Cilium 系列文章 前言 将 Kubernetes 的 CNI 从其他组件切换为 Cilium, 已经可以有效地提升网络的性能. 但是通过对 Cilium 不同模式的切换/功能的启用, ...
- 您在 /var/spool/mail/root 中有新邮件
查看邮件 删除邮件 禁止系统启动邮件检查这样就再有邮件提示了 mail cat /dev/null > /var/spool/mail/root echo "unset MAILCHE ...
- 国标GB28181视频平台EasyGBS视频监控平台无法播放,抓包返回ICMP排查过程
国标GB28181视频平台EasyGBS是基于国标GB/T28181协议的行业内安防视频流媒体能力平台,可实现的视频功能包括:实时监控直播.录像.检索与回看.语音对讲.云存储.告警.平台级联等功能.国 ...