栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在启动时为MongoDB容器创建数据库?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在启动时为MongoDB容器创建数据库?

该官方

mongo
图片已经合并公关,包括功能,在启动时创建用户和数据库。

/data/db
目录中未填充任何内容时,数据库初始化将运行。

管理员用户设置

用于控制“ root”用户设置的环境变量是

  • MONGO_INITDB_ROOT_USERNAME
  • MONGO_INITDB_ROOT_PASSWORD

docker run -d   -e MONGO_INITDB_ROOT_USERNAME=admin   -e MONGO_INITDB_ROOT_PASSWORD=password   mongod

您不需要/不能

--auth
在命令行上使用,因为docker entrypoint.sh脚本会在环境变量存在时将其添加到命令行中。

数据库初始化

该映像还提供了

/docker-entrypoint-initdb.d/
部署自定义
.js
.sh
设置脚本的路径,这些脚本将在数据库初始化时运行一次。默认情况下或在环境中定义时,将
.js
针对
test
这些脚本运行脚本
MONGO_INITDB_DATAbase

COPY mysetup.sh /docker-entrypoint-initdb.d/

要么

COPY mysetup.js /docker-entrypoint-initdb.d/

一个简单的初始化javascript文件,该文件演示了日志记录以及如何退出并显示错误(用于结果检查)。

let error = truelet res = [  db.container.drop(),  db.container.drop(),  db.container.createIndex({ myfield: 1 }, { unique: true }),  db.container.createIndex({ thatfield: 1 }),  db.container.createIndex({ thatfield: 1 }),  db.container.insert({ myfield: 'hello', thatfield: 'testing' }),  db.container.insert({ myfield: 'hello2', thatfield: 'testing' }),  db.container.insert({ myfield: 'hello3', thatfield: 'testing' }),  db.container.insert({ myfield: 'hello3', thatfield: 'testing' }),]printjson(res)if (error) {  print('Error, exiting')  quit(1)}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/397652.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号