这是我使用的图片https://hub.docker.com/r/ibmcom/cloudant-developer/
它基本上可以在大多数情况下正常工作,但有时我会得到这样的错误
{
"error": "{badmatch,{error,enoent}}",
"reason": "[{couch_mrview_compactor,swap_compacted,2,\n [{file,\"src/couch_mrview_compactor.erl\"},{line,261}]},\n {couch_index,commit_compacted,2,[{file,\"src/couch_index.erl\"},{line,371}]},\n {couch_index,handle_call,3,[{file,\"src/couch_index.erl\"},{line,190}]},\n {gen_server,try_handle_call,4,[{file,\"gen_server.erl\"},{line,607}]},\n {gen_server,handle_msg,5,[{file,\"gen_server.erl\"},{line,639}]},\n {proc_lib,init_p_do_apply,3,[{file,\"proc_lib.erl\"},{line,237}]}]",
"ref": 2090670111
}
我不知道这个错误来自couchdb本身。或者从couchdb扩展的任何cloudant。或者IBM创建的docker镜像的限制。所以我不确定在哪里问
非常感谢
答案 0 :(得分:2)
崩溃发生在couchdb代码中,这里: https://github.com/apache/couchdb-couch-mrview/blob/d4509606f3aacc4bec94b8936bedf6d1d597ff5f/src/couch_mrview_compactor.erl#L261
错误'enoent'表示它尝试删除的文件不存在。
我听说过其他使用开发人员版本的文件系统不稳定的报告,所以如果问题出在容器化或者甚至是Docker本身,我都不会感到惊讶。
您是否看到任何其他丢失文件的证据,例如数据库消失等等?