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。希望这份指南能帮助到你简化部署流程和提升效率。

相关推荐
春风有信18 分钟前
【2026.05.01】Windows10安装Docker Desktop 4.71.0.0步骤及问题解决
运维·docker·容器
sthnyph5 小时前
docker compose安装redis
redis·docker·容器
W.A委员会5 小时前
Docker基本使用流程
运维·docker·容器
GuokLiu7 小时前
260502-Clawith-Docker安装过程
运维·docker·容器·claw
JesseDev8 小时前
Docker lnmp环境快速搭建开箱即用
运维·docker·容器
空中海9 小时前
Docker入门到精通
java·docker·eureka
BduL OWED10 小时前
Docker:基于自制openjdk8镜像 or 官方openjdk8镜像,制作tomcat镜像
docker·容器·tomcat
.柒宇.10 小时前
AI掘金头条项目 Docker Compose 部署完整教程(附踩坑记录)
运维·后端·python·docker·容器·fastapi
运维全栈笔记1 天前
K8S部署Redis高可用全攻略:1主2从3哨兵架构实战
redis·docker·云原生·容器·架构·kubernetes·bootstrap
SCBAiotAigc1 天前
2026.5.1:`DockerDesktop must be owned by an elevated account`错误的解决办法
人工智能·docker·具身智能