【发布时间】:2020-08-19 12:48:45
【问题描述】:
我有一个来自 mongo:4.2-6-bionic 的自定义 docker 镜像,带有两个 initdb 脚本:
- /docker-entrypoint-initdb.d/1-database-seed.sh
- /docker-entrypoint-initdb.d/2-create-indexes.sh
镜像创建后,1-database-seed.sh文件正确执行。但是,2-create-indexes.sh 没有被执行。
如果我在容器内手动执行 2-create-indexes.sh,脚本会正确运行。脚本内容为:
#!/bin/bash
mongo renaper --eval "db.names_indexed.createIndex({'fullname': 1})";
mongo renaper --eval "db.names_indexed.createIndex({'year': 1})";
mongo renaper --eval "db.names_indexed.createIndex({'fullname': 1,'year': 1})";
mongo renaper --eval "db.names_indexed.createIndex({'fullname': 'text'})";
有什么想法吗?
【问题讨论】:
-
“不”是什么意思?
-
@Oleg 2-create-indexes.sh 未执行。
-
这两个脚本有什么不同?
-
@Oleg 第一个脚本导入一些 json 文件,第二个脚本创建一些索引。我把所有东西都放在了一起,效果很好。
-
如果你把所有的东西都放到另一个里面呢?
标签: mongodb docker initialization