docker快速安装与配置mongoDB

ops/2024/11/14 16:34:29/

dockermongoDB_0">docker快速安装与配置mongoDB

拉取 MongoDB Docker 映像

docker pull mongodb/mongodb-community-server:latest

将映像作为 container 运行

docker run --restart=always --name mongodb -p 27017:27017 --privileged=true  -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=你的密码 -d mongodb/mongodb-community-server:latest 

此命令中的 -p 27017:27017 会将容器端口映射到主机端口。这样即可使用一个 localhost:27017 连接字符串连接到 MongoDB。

–restart=always: 这个选项指定了容器的重启策略。always 意味着无论容器退出状态如何,Docker 都会尝试重启该容器。这通常用于确保服务的高可用性。

–name mongodb: 给新创建的容器指定一个名称,这里将容器命名为 mongodb。为容器命名有助于后续对容器进行管理和操作。

-p 27017:27017: 将主机的 27017 端口映射到容器的 27017 端口。MongoDB 默认监听 27017 端口,这样可以从主机访问容器内的 MongoDB 服务。

–privileged=true: 给予容器扩展的权限。通常情况下,除非有特殊需求,否则不建议使用这个选项,因为它可能会带来安全风险。对于 MongoDB 容器来说,通常不需要这个选项。

-e MONGO_INITDB_ROOT_USERNAME=root: 设置环境变量 MONGO_INITDB_ROOT_USERNAME 的值为 root。这是 MongoDB 初始化数据库时使用的管理员用户名。

-e MONGO_INITDB_ROOT_PASSWORD=你的密码: 设置环境变量 MONGO_INITDB_ROOT_PASSWORD 的值为 你的密码。这是与上述管理员用户名关联的密码。请将 你的密码 替换为你希望设置的实际密码。

要安装特定版本的 MongoDB,请在 Docker run 命令中的 : 后面指定版本。Docker 会拉取并运行指定的版本。

检查 container 正在运行

docker container ls

(base) [root@VM-20-6-centos home]# docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e6a4c0674343 mongodb/mongodb-community-server:latest “python3 /usr/local/…” 7 minutes ago Up 7 minutes 0.0.0.0:27017->27017/tcp, :::27017->27017/tcp mongodb

现在已经可以通过在容器中设置的账号密码去访问mongo数据库了,默认的验证数据库是admin

进入mongo容器

docker exec -it mongodb mongosh        #5.0之后的版本使用这个命令
docker exec -it mongodb mongo admin    #5.0之前的版本使用这个命令

添加账号

按照刚刚的配置,默认就能够使用root,你的密码,验证数据库是admin来进行登录,如果还想添加的话可以由如下方法:

1. 创建管理员用户
use admin
db.createUser({user: 'admin',pwd: '你的密码',roles: [{ role: 'root', db: 'admin' }]
});
  • user: 'admin': 指定用户名为 admin
  • pwd: '你的密码': 指定用户的密码。你需要将 '你的密码' 替换为你实际想要设置的密码。
  • roles: [{ role: 'root', db: 'admin' }]: 指定用户的角色。root 角色是MongoDB中最强大的角色,拥有所有数据库的所有权限。db: 'admin' 表示这个角色是在 admin 数据库中定义的。
2. 认证管理员用户
db.auth('admin', '密码');
  • db.auth('admin', '密码'): 用于验证用户身份。admin 是用户名,密码 是你之前设置的密码。如果认证成功,返回值为 1;如果失败,返回值为 0
3. 创建具有读写权限的用户
db.createUser({user: 'test',pwd: '你的密码',roles: [{ role: 'readWrite', db: 'elec_safe' }]
});
  • user: 'test': 指定用户名为 test
  • pwd: '你的密码': 指定用户的密码。你需要将 '你的密码' 替换为你实际想要设置的密码。
  • roles: [{ role: 'readWrite', db: 'elec_safe' }]: 指定用户的角色。readWrite 角色允许用户对指定数据库(这里是 elec_safe)进行读写操作。
4. 认证读写用户
db.auth('test', '密码');
  • db.auth('test', '密码'): 用于验证用户身份。test 是用户名,密码 是你之前设置的密码。如果认证成功,返回值为 1;如果失败,返回值为 0

参考:
docker安装mongoDB详细步骤-CSDN博客

使用 Docker 安装 MongoDB Community — MongoDB 手册 v8.0

mongodb用户权限管理最全攻略:用户的创建、查看、删除与修改,mongodb入坑之旅_mongo db 添加和查看用户-CSDN博客


http://www.ppmy.cn/ops/132945.html

相关文章

科技改变生活:最新智能开关、调光器及插座产品亮相

根据QYResearch调研团队的最新力作《欧洲开关、调光器和插座市场报告2023-2029》显示,预计到2029年,欧洲开关、调光器和插座市场的规模将攀升至57.8亿美元,并且在接下来的几年里,将以4.2%的复合年增长率(CAGR&#xff…

《手写Spring渐进式源码实践》实践笔记(第十七章 数据类型转换)

文章目录 第十七章 数据类型转换工厂设计实现背景技术背景Spring数据转换实现方式类型转换器(Converter)接口设计实现 业务背景 目标设计实现代码结构类图实现步骤 测试事先准备属性配置文件转换器工厂Bean测试用例测试结果: 总结 第十七章 数…

数据中心类DataCenter(三)

数据中心类DataCenter(三) 前言 在上一集,我们就完成了整个数据中心类的构造函数以及析构函数,我们讨论了我们的数据持久化的相关事宜,那么我们这一集就要来完成这一个内容。 需求分析 我们需要暂且就规定我们的路…

springboot快递物流管理系统-计算机设计毕业源码85178

目 录 摘要 1 绪论 1.1 选题背景与意义 1.2国内外研究现状 1.3论文结构与章节安排 2 快递物流管理系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 操作可行性分析 2.2 系统流程分析 2.2.1数据增加流程 2.2.2 数据修改流程 2.2.3 数据…

PCD文件(Point Cloud Data)详细解析

PCD文件(Point Cloud Data)详细解析 PCD文件格式是专为存储和处理三维点云数据而设计的,由开源项目Point Cloud Library(PCL)引入。该格式广泛应用于机器人视觉、计算机视觉以及三维建模等领域,支持多种数…

一文详解@Async注解

背景 Java中的Async注解是Spring框架提供的一个功能强大的异步执行注解,它允许开发者将某些方法的执行异步化,从而提高应用程序的响应性能和吞吐量。 使用方法 要使用Async注解,首先需要在配置类上添加EnableAsync注解,以启用Spri…

github信息收集规则

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 github信息收集 github信息收集 •site:Github.com password•site:Github.com ftp ftppassword •site:Github.com 密码 •site:Github.com 内部 •in:name test …

深度学习之卷积问题

1 卷积在图像中有什么直观作用 ​ 在卷积神经网络中,卷积常用来提取图像的特征,但不同层次的卷积操作提取到的特征类型是不相同的,特征类型粗分如表1所示。 ​ 表1 卷积提取的特征类型 卷积层次特征类型浅层卷积边缘特征中层卷积局部特征深…