【问题标题】:Create indexes on initdb script在 initdb 脚本上创建索引
【发布时间】: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


【解决方案1】:

最后,我将所有任务放在一个文件中,它可以正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-24
    • 1970-01-01
    • 2013-11-27
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多