问题现象
每次neo4j启动一段时间后,某个时间点neo4j停了就再也启动不起来了,必须要重新安装Neo4j容器才行。
当无法启动的时候,查看日志只有下面这个提示,过2-3s后就container容器就消失了,docker ps -a 结果是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.
问题分析
结合网上的一些资料得到以下结论:
Neo4j容器无法启动是因为在没有停止Neo4j容器的情况下先停止了docker服务,那么后续Neo4j容器就无法启动了。
Neo4j在4以后的版本中增加了一个pid进程管理,在容器的目录/var/lib/neo4j/run下有一个neo4j.pid,如果是异常停止的,那么这个pid还存在,这样就会导致下次启动的时候启动不起来。文章来源:https://www.toymoban.com/news/detail-744732.html
解决方案
修改neo4j配置文件,增加这个设置:dbms.directories.run=/run
,重启容器即可解决。这个只是将文件换了一个目录,我们可以指定一个mount的目录,这样出现问题后,可以在宿主机上删除该pid文件再重启容器即可。文章来源地址https://www.toymoban.com/news/detail-744732.html
- 参考:https://github.com/neo4j/neo4j/issues/12908
到了这里,关于Neo4j容器无法重新启动的问题!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!