Docker之MongoDB容器中创建用户与授权操作

Docker之MongoDB容器中创建用户与授权操作

文章目录

  • Docker之MongoDB容器中创建用户与授权操作
  • [1. 拉取MongoDB镜像](#1. 拉取MongoDB镜像)
  • [2. 运行容器](#2. 运行容器)
  • [3. 创建用户与授权](#3. 创建用户与授权)
    • [1. 创建管理员用户](#1. 创建管理员用户)
    • [2. 管理员用户创建其他用户](#2. 管理员用户创建其他用户)
    • [2. 修改用户](#2. 修改用户)
    • [4. 删除用户](#4. 删除用户)

其他配置参照docker Hub官网:Mongo - Official Image | Docker Hub

1. 拉取MongoDB镜像

shell 复制代码
docker pull mongo:4.2.23

2. 运行容器

  1. 运行一个名称为auth_mongo镜像,且挂载容器数据券为F:/dockeData/mongodb4223/data/db:/data/db
  2. 通过--auth来开启授权功能
shell 复制代码
# --auth表示连接mongodb时需要授权
docker run -it -d --name auth_mongo -v F:/dockeData/mongodb4223/data/db:/data/db -p 27017:27017 mongo:4.2.23 --auth

3. 创建用户与授权

进入容器内部创建用户

1. 创建管理员用户

shell 复制代码
#进入容器
docker exec -it auth_mongo mongo admin
# 添加管理员用户
db.createUser({ user:'admin',pwd:'admin@123',roles:[ { role:'root', db: 'admin'}]});
# 切换到admin数据库
use admin
# 登录认证
db.auth('admin', 'admin@123')
# 查看数据库
show dbs

2. 管理员用户创建其他用户

  1. 先登录管理员账户;
  2. 切换到某个数据库并创建其他用户
shell 复制代码
# 1.先使用admin账户登录
use admin
db.auth('admin','admin@123')
# 2.切换到并创建my_db库
use my_db
# 在my_db数据库下创建test_user用户
db.createUser({user:'test_user',pwd:'test_user',roles:['readWrite']})
#通过账号密码登录并添加users集合数据
db.auth("test_user","test_user")
# 插入测试数据
db.users.insert( { name:"jinshengyuan", age:22} )

2. 修改用户

如修改test_user用户的角色

shell 复制代码
db.updateUser({user:'test_user',pwd:'test_user',roles:[{role:'userAdminAnyDatabase',db:'admin'}]})

4. 删除用户

shell 复制代码
# 删除用户
db.dropUser('test_user')

)

复制代码
相关推荐
软件资深者12 分钟前
QQ音乐PC版 使用教程:去广告绿色便携版音乐播放器,本地曲库管理与在线试听一键搞定,音乐播放器新手 5 分钟上手(2026)
测试工具·容器·娱乐·软件需求
IT二叔2 小时前
Kubernetes(K8s)-02-Minikube安装
云原生·容器·kubernetes
用户094248568033 小时前
第18章:Mongo复制集运维——故障切换、节点扩容与数据重同步
数据库·mongodb
爱莉希雅&&&3 小时前
Rocky Linux 10.1 + K8s 1.36.3 离线集群部署笔记(Kubernetes)
linux·笔记·docker·kubernetes·calico
吴声子夜歌4 小时前
MongoDB 4.2——聚合框架
数据库·mongodb
SLD_Allen4 小时前
Kubernetes上的存算分离大数据平台
大数据·容器·kubernetes
BullSmall4 小时前
Jenkins LTS JDK21 docker-compose.yml(生产可用)
运维·docker·jenkins
念何架构之路4 小时前
docker-Builder镜像构建
运维·docker·容器
IT二叔4 小时前
Kubernetes(K8s)-08-Deployment详解
云原生·容器·kubernetes
运维大师5 小时前
【K8S 运维实战】20-证书管理cert-manager
运维·docker·kubernetes