問題現(xiàn)象
每次neo4j啟動(dòng)一段時(shí)間后,某個(gè)時(shí)間點(diǎn)neo4j停了就再也啟動(dòng)不起來了,必須要重新安裝Neo4j容器才行。
當(dāng)無法啟動(dòng)的時(shí)候,查看日志只有下面這個(gè)提示,過2-3s后就container容器就消失了,docker ps -a 結(jié)果是Exits(1),非正常退出。2023-10-07T08:43:51.768284320Z Changed password for user 'neo4j'. IMPORTANT: this change will only take effect if performed before the database is started for the first time.
問題分析
結(jié)合網(wǎng)上的一些資料得到以下結(jié)論:
Neo4j容器無法啟動(dòng)是因?yàn)樵跊]有停止Neo4j容器的情況下先停止了docker服務(wù),那么后續(xù)Neo4j容器就無法啟動(dòng)了。
Neo4j在4以后的版本中增加了一個(gè)pid進(jìn)程管理,在容器的目錄/var/lib/neo4j/run下有一個(gè)neo4j.pid,如果是異常停止的,那么這個(gè)pid還存在,這樣就會(huì)導(dǎo)致下次啟動(dòng)的時(shí)候啟動(dòng)不起來。文章來源:http://www.zghlxwxcb.cn/news/detail-744732.html
解決方案
修改neo4j配置文件,增加這個(gè)設(shè)置:dbms.directories.run=/run
,重啟容器即可解決。這個(gè)只是將文件換了一個(gè)目錄,我們可以指定一個(gè)mount的目錄,這樣出現(xiàn)問題后,可以在宿主機(jī)上刪除該pid文件再重啟容器即可。文章來源地址http://www.zghlxwxcb.cn/news/detail-744732.html
- 參考:https://github.com/neo4j/neo4j/issues/12908
到了這里,關(guān)于Neo4j容器無法重新啟動(dòng)的問題!的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!