在Docker中创建Mongo容器的后续设置

本文详细介绍如何在MongoDB中设置管理员账号密码,创建业务数据库,并为特定数据库配置用户权限。通过实例演示如何使用powershell和Docker进行操作,包括创建admin用户、root用户以及普通数据库用户。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

后续设置包括设置数据库管理员账号密码、创建业务数据库以及设置账户密码
需要注意的是,在创建Mongo容器后,需要映射到本机
1

以管理员身份打开powershell
先切换到mongdo bash

# `docker exec -it mongo bash`中的`mongo`是容器名
docker exec -it mongo bash
mongo

3
切换到admin数据库

use admin

创建admin用户

db.createUser({user: "mongo-admin",pwd: "passw0rd",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})
db.createUser({user: "mongo-root",pwd: "passw0rd",roles: [ { role: "root", db: "admin" } ]})

使用Navicat创建一个数据库db
为指定数据库db创建用户

use db
db.createUser({user: "my-user",pwd: "passw0rd",roles: [ { role: "readWrite", db: "db" } ]})

结果如下
2

参考资料

MongoDB: Create User – For Database, Admin, Root

转载于:https://www.cnblogs.com/Lulus/p/10966809.html

### 使用 Docker 启动和配置 MongoDB 服务 #### 查看可用的 MongoDB 版本 为了了解可以安装哪些版本的 MongoDB,可以通过 `docker search` 命令来查询相关的镜像。这一步骤有助于选择特定版本进行部署。 ```bash docker search mongo ``` 此命令会列出所有与 MongoDB 相关的官方及社区贡献者提供的 Docker 镜像[^1]。 #### 获取最新的 MongoDB 镜像 一旦决定了要使用的版本(这里以最新版为例),就可以通过下面的指令下载该镜像到本地环境中: ```bash docker pull mongo:latest ``` 这条语句将会从 Docker Hub 上获取名为 "mongo" 的最新稳定版镜像文件并保存至用户的机器上。 #### 列出已有的 Docker 镜像 确认所需镜像已被成功拉取之后,可通过如下命令查看当前计算机上的所有 Docker 镜像列表: ```bash docker images ``` 上述操作能够帮助验证是否已经正确地获得了预期的 MongoDB 映像资源。 #### 创建并启动 MongoDB 容器实例 接下来就是创建一个新的容器,并指定端口映射以及必要的环境变量来进行初步的安全性和功能设定。对于希望启用身份验证机制的情况来说,则需加上 `--auth` 参数;如果想要预先定义好管理员账户信息的话,则应利用 `-e` 来传递相应的用户名、密码和其他选项给新建立的服务进程。 ```bash docker run -itd \ --name mongo \ -p 27017:27017 \ -e MONGO_INITDB_ROOT_USERNAME=admin \ -e MONGO_INITDB_ROOT_PASSWORD=password \ mongo --auth ``` 这段脚本不仅指定了外部访问接口 (即主机系统的 TCP 端口号),还设置了初始超级用户凭证以便后续管理维护工作更加便捷高效[^3]。 #### 解决可能遇到的数据持久化问题 有时可能会因为权限不足而导致 MongoDB 数据库无法正常写入磁盘存储区域。此时建议赋予目标路径足够的读写执行权利,比如使用 Linux 下面这样的命令调整目录属性: ```bash chmod 777 /path/to/mongodb/data/db ``` 这样做能有效防止由于文件系统层面的原因引起的应用程序崩溃现象发生[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值