docker快速安装与配置mongoDB

news2024/11/7 20:21:18

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.coloradmin.cn/o/2235256.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【HTML】——VSCode 基本使用入门和常见操作

阿华代码,不是逆风,就是我疯 你们的点赞收藏是我前进最大的动力!! 希望本文内容能够帮助到你!! 目录 零:HTML开发工具VSCode的使用 1:创建项目 2:创建格式模板&#x…

ssm057学生公寓管理中心系统的设计与实现+jsp(论文+源码)_kaic

毕 业 设 计(论 文) 题目:学生公寓管理中心系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本学生公寓管理…

WAL日志

1.WAL概述 PG WAL(Write-Ahead Logging)日志是PostgreSQL数据库中的一种重要机制,用于保证数据库的完整性和数据恢复。 1.1定义与功能 WAL日志是PostgreSQL的持久性技术,它将所有对数据库的修改操作(如INSERT、UPDA…

算法练习:1658. 将 x 减到 0 的最小操作数

题目链接:1658. 将 x 减到 0 的最小操作数 这道题目的意思就是,给定一个整数数组,和一个x,只能从数组最左边或者最右边进行删除,使得x恰好等于0,并且要操作次数最少的情况,否则返回-1. 这道题直…

51c大模型~合集17

我自己的原文哦~ https://blog.51cto.com/whaosoft/11599989 #关于大模型「越狱」的多种方式 此项目是由伊利诺伊大学香槟分校(UIUC)的汪浩瀚教授主导,汇集了多名intern的共同努力而成。长久以来,这个跨学科的团队一直在前沿科…

Vue前端开发之自定义动画样式

在上一小节中,我们介绍了动画的实现源于6个类别样式,它们的名称默认前缀是一个“v”字母或者指定的名称,如“sc”,其实,也可以不使用这些固定的类别样式,开发者可以自定义任意的类别样式,供动画…

数据库SQL学习笔记

第 1 章 绪论 1.1 数据库系统概述 1.1.1 四个基本概念 数据库系统(DBS) 定义:是指在计算机系统中引入数据库后的系统构成 构成:数据库,数据库管理系统(及其开发工具),应用系统,数据库管理员…

前端好用的网站分享——CSS(持续更新中)

1.CSS Scan 点击进入CSS Scan CSS盒子阴影大全 2.渐变背景 点击进入color.oulu 3.CSS简化压缩 点击进入toptal 4.CSS可视化 点击进入CSS可视化 这个强推,话不多说,看图! 5.Marko 点击进入Marko 有很多按钮样式 6.getwaves 点击进入getwaves 生…

云集电商:如何通过 OceanBase 实现降本 87.5%|OceanBase案例

云集电商,一家聚焦于社交电商的电商公司,专注于‘精选’理念,致力于为会员提供超高性价比的全品类精选商品,以“批发价”让亿万消费者买到质量可靠的商品。面对近年来外部环境的变化,公司对成本控制提出了更高要求&…

软考高级架构 - 8.3 - ATAM方法架构评估实践 - 超详细讲解+精简总结

总结: ATAM时评估架构的质量属性方法,帮助权衡和识别风险,分为四个阶段。 阶段1——演示 介绍ATAM方法,介绍软件商业目标和关键需求,详细介绍要被评估的架构。 阶段2——调查和分析 深入分析系统架构,评估…

Redis - Hash 哈希

一、基本认识 ⼏乎所有的主流编程语⾔都提供了哈希(hash)类型,它们的叫法可能是哈希、字典、关联数 组、映射。在Redis中,哈希类型是指值本⾝⼜是⼀个键值对结构,形如key"key",value{{ field1, v…

C++上机实验|多态性编程练习

1.实验目的 (1)理解多态性的概念。 (2)掌握如何用虚函数实现动态联编 (3)掌握如何利用虚基类。 2.实验内容 设计一个飞机类 plane,由它派生出歼击机类fighter和轰炸机类 bomber,歼击机类fighter 和轰炸机类bomber 又共同派生出歼轰机(多用途战斗机)。利用虚函数和虚基类描述…

岛屿数量 广搜版BFS C#

和之前的卡码网深搜版是一道题 力扣第200题 99. 岛屿数量 题目描述 给定一个由 1(陆地)和 0(水)组成的矩阵,你需要计算岛屿的数量。岛屿由水平方向或垂直方向上相邻的陆地连接而成,并且四周都是水域。…

动态规划 之 路径问题 算法专题

一. 不同路径 不同路径 状态表示 dp[i][j] 表示走到[i][j]位置, 有几种不同的路径状态转移方程 以离[i][j] 最近的位置划分问题 1.从[i - 1][j] 到[i][j], 到[i][j]位置的不同路径数 就是和 到[i - 1][j]位置的不同路径数相同, 即dp[i][j] dp[i - 1][j] 2.从[i][j - 1] 到[i…

别名路径联想设置

如何使用/进行路径提示? 找到jsconfig.json文件,如何项目中没有的话,自行创建 {"compilerOptions": {"paths": {"/*": ["./src/*"]}},"exclude": ["node_modules", "dis…

40V耐压 降压恒压芯片 SL3061替换XL4301 支持2.5A电流 内置MOS管

一、基本性能参数对比 二、替换可行性分析 耐压能力:SL3061的耐压能力为40V,而XL4301的工作电压范围为8V至40V,最大耐压可能更高(达到45V)。在多数应用场景下,SL3061的耐压能力应能满足需求,但…

字节青训-小D的 abc 变换问题

问题描述 小D拿到了一个仅由 "abc" 三种字母组成的字符串。她每次操作会对所有字符同时进行以下变换: 将 a 变成 bc将 b 变成 ca将 c 变成 ab 小D将重复该操作 k 次。你的任务是输出经过 k 次变换后,得到的最终字符串。 例如:对于初…

设计模式09-行为型模式2(状态模式/策略模式/Java)

5.4 状态模式 5.4.1 状态模式的定义 1.模式动机:有些对象具有多种状态,这些状态在某些情况下能够相互转换,对象在不同的状态下将具有不同的行为,将拥有状态的对象中和状态的行为分离。 2.模式定义:允许一个对象在其…

Postman上传图片如何处理

打开Postman,创建一个新的请求 URL: http://90.104.232.49:80/dev-api/appcommon/upload 如果有解密进入上传就在请求头添加 点击“Body”选项卡。 选择“form-data”类型。 在“KEY”列中输入文件字段的名称,例如file。 在“VALUE”列中&#xff0…

MongoDB笔记03-MongoDB索引

文章目录 一、前言1.1 概述1.2 MongoDB索引使用B-Tree还是BTree?1.3 B 树和 B 树的对比1.4 总结 二、索引的类型2.1 单字段索引2.2 复合索引2.3 其他索引 三、索引的管理操作3.1 索引的查看3.2 索引的创建3.2.1 单字段索引3.2.2 复合索引 3.3 索引的移除3.3.1 指定索…