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

Docker 部署 MongoDB

🚀 作者主页: 有来技术
🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🍃 vue-uniapp-template
🌺 仓库主页: GitCode💫 Gitee 💫 Github
💖 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请纠正!

前言

MongoDB 是一种流行的 NoSQL 数据库,因其灵活性和可扩展性而备受青睐。在现代开发环境中,通过 Docker 容器化 MongoDB 可简化部署和管理。本文档介绍如何使用 Docker 快速设置和配置 MongoDB。

环境准备

在开始使用 Docker 安装 MongoDB 之前,请确保你的系统上已经安装了 Docker。如果没有安装 Docker,可以参考这篇文章进行安装:Linux 服务器安装 Docker

安装 MongoDB

1. 创建文件

创建 MongoDB 所需的挂载目录和配置文件:

sudo mkdir -p /mnt/mongo/{config,data,logs}
sudo touch /mnt/mongo/config/mongod.conf

在配置文件 mongod.conf 添加以下内容

# 数据库存储路径
dbpath=/mnt/mongo/data# 日志文件路径
logpath=/mnt/mongo/logs/mongod.log# 监听的端口
port=27017# 允许所有的 IP 地址连接
bind_ip=0.0.0.0# 启用日志记录
journal=true# 是否后台运行
fork=true# 启用身份验证
#auth=true

2. 拉取 MongoDB 镜像

拉取 MongoDB 的指定版本:

docker pull mongo:7.0.12

4. 启动容器

使用以下命令启动 MongoDB 容器,并设置环境变量指定管理员账户:

docker run -d --name mongo --restart=always \
-p 27017:27017 \
-v /mnt/mongo/data:/data/db \
-v /mnt/mongo/logs:/var/log/mongodb \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=123456 \
mongo:7.0.12

5. 创建用户

进入 MongoDB 容器并创建新的用户:

docker exec -it mongo /bin/mongosh

然后创建 youlai 用户

use admin
db.auth("admin","123456")
db.createUser({user: "youlai",pwd: "123456",roles: [{ role: "root", db: "admin" }]}
);

若需要更新用户或更改密码:

db.updateUser("youlai", { roles: [{ role: "readWrite", db: "admin" }] })
db.changeUserPassword("youlai", "123456")

删除用户示例:

db.dropUser("youlai")

查看现有用户:

show users

6. 连接测试

使用 Navicat 测试连接:
在这里插入图片描述

结语

通过上述步骤,你应该能够成功在 Docker 中部署并配置 MongoDB。希望这份指南能帮助到你简化部署流程和提升效率。

http://www.lryc.cn/news/492396.html

相关文章:

  • Unity图形学之法线贴图原理
  • 爬虫开发(5)如何写一个CSDN热门榜爬虫小程序
  • JVM系列之OOM观测准备
  • Qt | 开发技能提升档次哈
  • D79【 python 接口自动化学习】- python基础之HTTP
  • C++【日志模块中的writer类】前文中 循环队列用法
  • Linux:文件管理(一)——文件描述符fd
  • 【C++初阶】第3课—类和对象(类的默认成员函数)
  • uni-app初学笔记:文件路径与作用
  • 小程序-使用 iconfont 图标库报错:Failed to load font
  • 【计网】自定义协议与序列化(一) —— Socket封装于服务器端改写
  • 速度革命:esbuild如何改变前端构建游戏 (1)
  • 大语言模型---什么是注意力机制?LlaMA 中注意力机制的数学定义
  • LSA详情与特殊区域
  • Python爬虫能处理动态加载的内容吗?
  • Spring Boot Web应用开发:数据访问
  • 【Linux】进程控制-----进程创建与进程终止
  • 【软考速通笔记】系统架构设计师③——信息安全技术基础知识
  • AI安全:从现实关切到未来展望
  • YOLO格式数据集介绍
  • Doris 数据集成 LakeSoul
  • Navicat 预览变更sql
  • 深入理解下oracle 11g block组成
  • Qt Graphics View 绘图架构
  • 大数据-234 离线数仓 - 异构数据源 DataX 将数据 从 HDFS 到 MySQL
  • 零基础学安全--shell脚本学习(1)脚本创建执行及变量使用
  • C#对INI配置文件进行读写操作方法
  • 华为鸿蒙内核成为HarmonyOS NEXT流畅安全新基座
  • 请求响应(学习笔记)
  • JavaScript核心语法(5)