
该官方
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)}欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)