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 所需的挂载目录和配置文件:

bash 复制代码
sudo mkdir -p /mnt/mongo/{config,data,logs}
sudo touch /mnt/mongo/config/mongod.conf

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

bash 复制代码
# 数据库存储路径
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 的指定版本:

bash 复制代码
docker pull mongo:7.0.12

4. 启动容器

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

bash 复制代码
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 用户

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

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

bash 复制代码
db.updateUser("youlai", { roles: [{ role: "readWrite", db: "admin" }] })
db.changeUserPassword("youlai", "123456")

删除用户示例:

bash 复制代码
db.dropUser("youlai")

查看现有用户:

bash 复制代码
show users

6. 连接测试

使用 Navicat 测试连接:

结语

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

相关推荐
Y3815326627 小时前
Docker Compose 服务依赖与健康检查:healthcheck 让容器按正确顺序启动
运维·docker·容器
2601_965235488 小时前
快速了解docker
docker·容器·dubbo
李昊哲小课9 小时前
Deepin 25 上安装 Docker CE 实战记录
运维·docker·容器·deepin
重生之我来学Python11 小时前
Docker套装的简介、安装、超级详细教程
linux·docker·容器·eureka·github
起名真的太难了15 小时前
Docker 项目部署
docker·容器·eureka
狼与自由15 小时前
docker 安装milvus
docker·milvus
摇滚侠15 小时前
《SpringBoot 3:入门与应用实战》第 14 章 打包与部署 制作 Docker 镜像 阅读笔记 43
spring boot·笔记·docker
MrSYJ15 小时前
Network Namespace 到底是个啥,别人再问你告诉他
docker·云原生·kubernetes
程序员老赵15 小时前
Docker 部署 Rocky Linux:轻松搭建 RHEL 兼容企业级基础镜像平台
linux·后端·docker
码力斜杠哥18 小时前
Docker Compose快速入门笔记
笔记·docker·eureka