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

相关推荐
Jolen_xie6 小时前
Ubuntu下用Docker部署群晖系统---Virtual DSM --zerotier实现连接
linux·ubuntu·docker
深度学习真难7 小时前
docker启动kafka、zookeeper、kafdrop
docker·zookeeper·kafka
gtestcandle8 小时前
mongodb
mongodb
qq_172805598 小时前
Docker login 报证书存储错误的解决办法
docker·容器·证书
有来技术9 小时前
Linux 服务器安装 Docker - CentOS 9 (Stream)
linux·服务器·docker
生活百般滋味,人生需要笑对。 --佚名9 小时前
docker如何安装redis
redis·docker·容器
Karoku06610 小时前
【docker集群应用】Docker常用命令
运维·数据库·docker·容器
打你个大西瓜️12 小时前
单片机知识总结(完整)
数据库·单片机·mongodb
蜗牛丨13 小时前
Go Vue3 CMS管理后台(前后端分离模式)
mysql·docker·go·vue3·axios·gin·jwt·分页·跨域·ant design vue·log·gorm·otp动态码登录·validator·模型绑定·权限判断