当前位置: 首页 > news >正文

MongoDB 自动化部署

部署在容器中,并且自动创建所需用户和权限等

# 启动 mongoDB
  sudo docker run -dit --name china_fish_mongo \
-p 27017:27017 \
-v /data/project1/db/mongo/config/mongod.conf:/etc/mongod.conf \
-v /data/project1/db/mongo/data:/data/db \
-v /data/project1/db/mongo/logs:/var/log/mongodb \
-v /Scripts/init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js:ro \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=password_str\
--restart=always  \
mongo:6.0.2

# 启动 redis
sudo docker run -d --restart unless-stopped \
--name china_fish_redis -p 6379:6379 \
-v /dorothy/data/fish_server/redis/:/data \
redis:5 redis-server --save 60 1 "--requirepass password_str"

-v

这个参数可以自动创建指定的目录,注意确保docker 用户在这个目录存在权限

docker-entrypoint-initdb.d 容器第一次启动执行的脚本目录

The /docker-entrypoint-initdb.d directory is a special initialization directory used by several popular database Docker images to automatically execute scripts when a container is first started. This feature allows you to initialize your database with custom schemas, data, or configuration upon container creation.

参考 mongo - Official Image | Docker Hub

/Scripts/init-mongo.js

运行容器后的初始化流程

# 数据库
db = db.getSiblingDB('admin');

# 创建用户
db.createUser({
  user: 'wod',
  pwd: 'ds0nxCM7fc65uM',
  roles: [
    { role: 'readWrite', db: 'xxx1' },
    { role: 'readWrite', db: 'xxx2' },
  ]
});

# 提前创建一些必要索引等

相关文章:

  • 搞定python之二----数据类型和程序的控制结构
  • Spring Boot 项目中 `Query` 后缀对象的放置位置
  • 每天五分钟深度学习框架PyTorch:ResNet算法模型完成CAFIR十分类
  • 【Spring IOC/AOP】
  • 怎么用vscode 写 markdown 文档
  • 【社区投稿】深入再谈智能指针、AsRef引用与Borrow借用
  • springboot3 spring security+jwt实现接口权限验证实现
  • Vue动态修改页面的 title 浏览器页签名称
  • 数据结构--【顺序表与链表】笔记
  • 大白话JavaScript数据类型判断方法的原理与实践
  • python:“魔法“方法
  • HTML5 + Bootstrap5 网站底部代码实现与解析
  • CSS伸缩盒模型(弹性盒子)
  • 使用AI一步一步实现若依前端(8)
  • 20、组件懒加载
  • 力扣HOT100之双指针:11. 盛最多水的容器
  • 中信银行太原分行开展3.15金融知识进社区志愿活动
  • 计算机网络开发(3)——端口复用、I\O多路复用
  • vue-cli + echarts 组件封装 (Vue2版)
  • 江科大51单片机笔记【12】DS18B20温度传感器(上)
  • 我的网站在百度搜不到/谷歌官网下载
  • 网站分类 维护/广州网站优化工具
  • 常德做网站专业公司/沈阳seo团队
  • 好的做网站的公司有哪些/seo文章生成器
  • 实训网站开发目的/百度一下就会知道了
  • 网站制作找/seo优化在哪里学