Docker 部署 MongoDB

Docker 部署 MongoDB 1.拉取 MongoDB 镜像sudo docker pull mongo:6.02.创建并启动 MongoDB 容器带持久化 密码认证# 1.创建并启动 MongoDB 容器带持久化 密码认证# 创建存放Mongo数据的文件夹mkdir -p ~/mongo-data# 2. 运行容器完整可复制命令sudo docker run -d \--name mongodb \--restart always \-p 27017:27017 \-v ~/mongo-data:/data/db \-e MONGO_INITDB_ROOT_USERNAMEadmin \-e MONGO_INITDB_ROOT_PASSWORD123456 \mongo:6.0# 参数说明-d后台守护运行--name mongodb容器命名方便后续操作--restart always开机 / 容器异常自动重启-p 27017:27017端口映射本地 27017 映射容器 27017-v ~/mongo-data:/data/db数据挂载持久化MONGO_INITDB_ROOT_USERNAME/PASSWORD超级管理员账号密码3.验证容器是否启动成功# 查看运行中的容器sudo docker ps# 输出列表里出现mongodb代表启动正常。4.进入 MongoDB 客户端操作# 1.安装本地客户端# 步骤 1导入 MongoDB 官方 GPG 密钥curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-archive-keyring.gpg# 步骤 2添加 MongoDB 官方源echo deb [arch$(dpkg --print-architecture) signed-by/usr/share/keyrings/mongodb-archive-keyring.gpg] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/6.0 multiverse | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list# 步骤 3更新软件源缓存并安装sudo apt updatesudo apt install -y mongodb-mongosh# 2.外部客户端登录数据库mongosh -u admin -p 123456 --authenticationDatabase admin# 出现test表示成功5.数据库基础操作测试造数据、清环境必备# 1. 数据库切换 / 创建# 创建/切换测试专用库 test_api接口测试库use test_api# 查看服务器全部数据库show dbs# 清空当前测试库所有数据测试结束清理脏数据用db.dropDatabase()# 2.集合数据表操作# 查看当前库所有集合show collections# 删除指定集合清理测试表db.user_info.drop()# 3.CRUD 测试数据操作自动化测试常用# 新增测试数据# 插入单条用户测试数据db.user_info.insertOne({userId: u001,username: test01,phone: 13900001111,age: 24, status: 1})# 批量插入多条测试数据db.user_info.insertMany([ {userId:u002,username:test02,phone:13900002222,status:0}, {userId:u003,username:test03,phone:13900003333,status:1}])# 查询数据接口请求后校验数据库结果# 查询表全部数据格式化展示db.user_info.find().pretty()# 条件查询只查状态正常(status1)的用户db.user_info.find({status:1}).pretty()# 精准匹配单条数据通过唯一userId查询db.user_info.find({userId:u001}).pretty()# 更新数据修改测试数据状态# 修改单条数据将u001的年龄改为25db.user_info.updateOne({userId:u001},{$set:{age:25}})# 批量更新所有status0的用户改为正常状态1db.user_info.updateMany({status:0},{$set:{status:1}})# 删除数据测试后置清理脏数据# 删除单条指定用户db.user_info.deleteOne({userId:u001})# 批量删除失效用户db.user_info.deleteMany({status:0})# 4.创建测试专用业务账号日常测试不用超级管理员# 登录后执行创建仅操作test_api测试库的读写账号# 切换到测试库use test_api# 创建测试账号 test_op密码 666666db.createUser({user: test_op,pwd: 666666,roles: [readWrite]})# exit 退出当前test状态在终端操作# 使用测试账号外部登录命令mongosh -u test_op -p 666666 --authenticationDatabase test_api# 使用测试账号外部登录命令mongosh -u test_op -p 666666 --authenticationDatabase test_api# 退出外部客户端.exit