MongoDB使用具有持久存储问题的docker对群集进行分片

时间:2017-12-05 11:09:37

标签: mongodb docker cluster-computing mount

我已经能够使用docker创建一个分片集群,它有3个分片,每个分片都是副本集,副本集的每个成员都有持久存储,我已经测试过它。

问题是,当我停止并删除docker容器然后重新启动它们以使用相同的持久存储时,分片不会附加到群集,谷歌搜索之后我相信这是因为它们已经连接到了群集先前。

sh.status({verbose:1})的输出显示没有分片

sh.addShard(" a / mongo-shard-a0:27017")的输出显示:

"errmsg" : "E11000 duplicate key error collection: admin.system.version index: _id_ dup key: { : \"shardIdentity\" }"

我天真地假设,当docker容器返回并指向同一数据目录时,集群将像删除容器之前一样。

非常感谢您对此的任何帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

问题是我正在为configsvr的/ data / db目录设置持久存储,实际上我需要将docker文件中的持久存储挂载到/ data / configdb目录。