1.8 KiB
1.8 KiB
title, createTime, permalink
| title | createTime | permalink |
|---|---|---|
| 使用 Docker 部署 MongoDB | 2025/12/24 16:34:00 | /ops/docker/db/mongodb/ |
本教程将介绍如何使用 Docker 快速部署一个 MongoDB 实例。
在 Ubuntu 上部署 MongoDB:4.2 实例
我们先拉取 MongoDB:4.2 镜像:
docker pull mongo:4.2
创建一个目录用于存储 MongoDB 数据:
mkdir -p /data/mongo/
启动 MongoDB 容器:
sudo docker run --restart=always -itd --name mongo -p 27018:27017 -v /data/mongo/:/data/db mongo:4.2 --auth
命令详解:
--restart=always:容器重启时自动启动。-itd:交互式模式运行容器,后台模式。--name mongo:为容器命名为 mongo。-p 27018:27017:将主机的 27018 端口映射到容器的 27017 端口。-v /data/mongo/:/data/db:将主机的 /data/mongo/ 目录挂载到容器的 /data/db 目录,用于持久化存储数据。mongo:4.2:使用 MongoDB:4.2 镜像。--auth:启用身份验证功能。
进入 MongoDB 容器:
docker exec -it mongo mongo admin
在 MongoDB 容器中创建管理员用户
先进入 admin 数据库
use admin;
创建管理员用户 admin, 密码 root, 角色为 root。
db.createUser( { user: "root", pwd: "root", roles:['root'] });
退出 MongoDB 容器:
exit
使用 root 用户进行登录
docker exec -it mongo mongo admin -u root -p root
这里还能创建一个 admin 用户,用密码 admin,角色为 readWriteAnyDatabase, dbAdminAnyDatabase。
db.createUser( { user: "admin", pwd: "admin", roles:['readWriteAnyDatabase','dbAdminAnyDatabase'] } );
验证用户,这里会登录到 admin
db.auth("admin","admin");
删除用户的话可以使用,注意这里要切换回 root 用户
db.dropUser("admin");