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')

)

复制代码
相关推荐
爱上猫de鱼4 小时前
linux环境docker部署前后端应用
linux·运维·docker
小王努力学编程4 小时前
LangChain—AI应用开发框架(认识模型)
linux·服务器·人工智能·机器学习·容器·langchain
南宫乘风5 小时前
Kubernetes 中 ConfigMap 和 Secret 热更新:Reloader 实战指南
容器·kubernetes·configmap
辰尘_星启5 小时前
解决幽灵容器
linux·docker·容器·机器人·嵌入式
破无差5 小时前
docker配置报错解决过程dify
docker
培根芝士6 小时前
基于Docker部署M3U8流媒体
docker·容器
卜锦元6 小时前
Docker Compose 部署 MySQL 8.4 LTS(生产级实践方案)
数据库·mysql·docker·容器
独断万古他化6 小时前
Docker 入门前置:容器虚拟化基础之 cgroups 资源控制与 LXC 容器
linux·docker·容器
Smile_微笑6 小时前
恢复 MySQL 服务(Docker 环境专用)
mysql·adb·docker
卜锦元7 小时前
Docker Compose 部署 MySQL 5.7(生产级实践方案)
数据库·mysql·adb·docker