如何在Docker中使用MongoDB时创build新的数据库和集合?

我对Dockers非常新,现在正在使用docker-compose来初始化新的MongoDB容器。 我已经了解到,将环境variables插入到Dockerfile中会为我创build一个pipe理员用户并设置一个密码。 我还发现,我可以通过docker一个JS文件,将处理一些命令,并为我创build我想要使用的结构。

我试图创build新的JS文件,并写入一些Mongo指令,但每次运行它时都面临这个错误:

mongo-1 | 2017-06-10T12:28:08.153+0000 E QUERY [thread1] SyntaxError: missing ; before statement @/docker-entrypoint-initdb.d/mongo_setup.js:1:4

我的JS看起来像这样:

 use admin; db.auth('admin', 'somepassword'); use newDB; db.createCollection('newCol'); newCol = db.getCollection('newCol'); newCol.insert({'hello':'world'}); 

我做错了什么? 如何在运行docker时设置“newDB”和“newCol”? 我怎样才能自动添加一些索引到newCol集合?

小记:我将不得不创build一些数据库和集合,并启动所有的环境variables是不可能的..

谢谢!

要初始化数据库,您可以使用以下脚本:

 mongo test --eval "load(youscript.js)" 

垃圾邮件将在/ data / db文件夹中