下面是我用来对接我的MongoDB实例的MongoDB:
version: '3.3'
services:
mongo:
image: 'mongo:latest'
ports:
- '27017:27017'
volumes:
- 'data-storage:/data/db'
networks:
mynet:
volumes:
data-storage:
networks:
mynet:容器是正确创建的,并且它启动时没有任何问题。是否可以在容器第一次启动时创建一个Mongo集合并使用一些文档填充它?
例如,我想运行以下几个语句:
db.strategyitems.insert( { symbol: "chf", eval_period: 15, buy_booster: 8.0, sell_booster: 5.0, buy_lot: 0.2, sell_lot: 0.2 } )
db.strategyitems.insert( { symbol: "eur", eval_period: 15, buy_booster: 8.0, sell_booster: 5.0, buy_lot: 0.2, sell_lot: 0.2 } )
db.strategyitems.insert( { symbol: "usd", eval_period: 15, buy_booster: 8.0, sell_booster: 5.0, buy_lot: 0.2, sell_lot: 0.2 } )..。
发布于 2018-08-03 06:30:16
根据MongoDB码头文件,您可以使用这个组合在db : Environnement变量MONGO_INITDB_DATABASE中插入
这个变量允许您指定数据库的名称,以便在/docker initdb.d/*..js中创建脚本(请参见下面初始化一个新实例)。MongoDB基本上是为“先使用就创建”而设计的,因此如果您不使用JavaScript文件插入数据,那么就不会创建数据库。
和init .js文件在/initdb.d/
初始化新实例 当容器首次启动时,它将执行扩展名为.sh和.js的文件,这些文件位于/initdb.d中。文件将按字母顺序执行。如果存在.js文件,将使用MONGO_INITDB_DATABASE变量指定的数据库由mongo执行,或者以其他方式进行测试。您还可以在.js脚本中切换数据库。
请注意,您可以跳过设置环境变量,并在js文件中设置数据库。请参阅医生需要更多的解释。
希望能帮上忙。
https://stackoverflow.com/questions/51662531
复制相似问题