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

相关推荐
gs8014011 小时前
GitLab Docker Compose 迁移后 Redis 权限问题排查与解决
redis·docker·gitlab
❀͜͡傀儡师13 小时前
Docker 安装部署 OceanBase
docker·容器·oceanbase
ifanatic13 小时前
[每周一更]-(第154期):Docker 底层深度剖析:掌控 CPU 与内存资源的艺术
docker
草堂春睡足17 小时前
【数据迁移】Windows11 下将 Ubuntu 从 C 盘迁移到 D 盘
linux·windows·ubuntu·docker
程序猿小郑17 小时前
Docker环境离线安装指南
docker
热心市民梁先生18 小时前
oect刷入arm系统安装docker
运维·docker·容器
Joemt19 小时前
ubuntu22.04离线一键安装gpu版docker
docker·容器·eureka
爱掉发的小李20 小时前
Linux 环境下 Docker 安装与简单使用指南
java·linux·运维·c++·python·docker·php
Dontla1 天前
docker desktop入门(docker桌面版)(提示wsl版本太低解决办法)
运维·docker·容器