MongoDB 自动化部署

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

bash 复制代码
# 启动 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

运行容器后的初始化流程

javascript 复制代码
# 数据库
db = db.getSiblingDB('admin');

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

# 提前创建一些必要索引等
相关推荐
立志成为大牛的小牛2 分钟前
数据结构——二十九、图的广度优先遍历(BFS)(王道408)
数据结构·数据库·学习·程序人生·考研·算法·宽度优先
taxunjishu2 分钟前
Ethernet/ip 转 Modbus RTU 驱动,罗克韦尔 PLC 与华为逆变器打造光伏电站智能监控典范
人工智能·物联网·自动化·区块链
爬山算法6 分钟前
Redis(78) 如何设置Redis的缓存失效策略?
数据库·redis·缓存
低音钢琴1 小时前
【SpringBoot从初学者到专家的成长20】SpringBoot集成MongoDB:非关系型数据库的探索
spring boot·mongodb·nosql
DemonAvenger1 小时前
深入Redis String:从基础到实战,10年经验的后端工程师带你解锁最佳实践
数据库·redis·性能优化
shuair1 小时前
redis大key问题
数据库·redis·缓存
SelectDB1 小时前
Apache Doris 4.0 版本正式发布:全面升级 AI 与搜索能力,强化离线计算
数据库·数据分析·apache
SelectDB1 小时前
从 Snowflake 到 Apache Doris:Planet 实时分析成本直降 80%、查询加速 90 倍
数据库·数据分析·apache
TDengine (老段)2 小时前
TDengine 数学函数 LOG 用户手册
java·大数据·数据库·时序数据库·iot·tdengine·涛思数据
TDengine (老段)2 小时前
TDengine 数据函数 MOD 用户手册
大数据·数据库·物联网·时序数据库·tdengine·涛思数据