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

)

复制代码
相关推荐
修己xj1 天前
别再让Docker占满你的硬盘!一篇搞定docker system所有命令
docker
布吉岛的石头1 天前
Docker Compose编排实战:多容器应用从开发到生产
运维·docker·容器
SPC的存折1 天前
19-2、K8s 三种 QoS 等级 & 与 Resources(requests_limits)的核心关联
云原生·容器·kubernetes
SPC的存折1 天前
1、K8S-组件介绍
云原生·容器·kubernetes
时空自由民.1 天前
PID介绍
数据库·mongodb
SPC的存折1 天前
20、K8S-Pod驱逐
java·docker·kubernetes
皓月盈江2 天前
Linux Ubuntu系统如何编辑Docker容器内的文件
linux·ubuntu·docker·容器·靶场·vulhub·编辑docker内文件
魔极客2 天前
1panel面板安装ollama的详细过程
docker·1panel·ollama
椰汁菠萝2 天前
[特殊字符] Nginx UI:Docker 部署与完全使用指南
nginx·ui·docker
珂玥c2 天前
添加node节点到k8s集群+配置网络插件flannel
云原生·容器·kubernetes