当前位置: 首页 > article >正文

docker快速安装与配置mongoDB

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.kler.cn/a/385593.html

相关文章:

  • 大数据新视界 -- 大数据大厂之 Impala 性能优化:优化数据加载的实战技巧(下)(16/30)
  • 物流企业新闻稿怎么写?货运行业品牌宣传背书的报纸期刊杂志媒体有哪些
  • GFPS技术原理(四)GATT特征值
  • 丹摩征文活动 | Kolors入门:从安装到全面活用的对比指南
  • el-table 纵向垂直表头处理
  • 后悔没早点知道,Coze 插件 + Cursor 原来可以这样赚钱
  • 小型的网站服务器该如何选择配置?
  • java常用技术总结
  • vue3中利用路由信息渲染菜单栏
  • 动手学深度学习9.8. 束搜索-笔记练习(PyTorch)
  • 图像手动标注-labelme+yolo格式导出
  • 开源模型应用落地-glm模型小试-glm-4-9b-chat-压力测试(六)
  • 自动化测试工具Ranorex Studio(二十六)-对象库设置对话框
  • Python实战:调用淘宝API以抓取商品页面数据
  • 易考八股文之docker常用命令
  • 【Flutter 内嵌 android 原生 View以及相互跳转】
  • ELK实现前台单显示ip/host等日志信息
  • 向日葵远程桌面Visual Studio白屏
  • 如何在Typora中使用copilot
  • HarmonyOS NEXT应用元服务开发Intents Kit(意图框架服务)本地搜索方案概述
  • 【已解决】Windows11 24H2 (家庭版)无法访问无密码SMB共享的问题;
  • 您与此网站之间建立的连接不安全解决方法
  • Node.js——fs模块-文件删除
  • # VMwareWorkstation虚拟机,如何下载安装 VMware Tools
  • Service Worker 缓存未更新的原因与解决方案
  • 使用 C# `Stopwatch` 实现函数 `Test01`的运行时间计算