[我在Ubuntu 18.04上下载了2个版本的neo4j,分别是“ neo4j-community-3.5.12”和“ neo4j-community-3.5.8”]
我使用默认设置运行3.5.8,我可以从网上看到它。 http://localhost:7474/
对于3.5.12,我更改了conf / neo4j.conf文件并设置了一些其他端口号,以免与默认端口冲突。
3.5.8版本可在:7474上正常运行。当我启动3.5.12时,日志显示它正在运行,但是当我从浏览器中检查时它没有运行。我尝试了2种不同的端口设置,但均无效果。下面是日志文件。
为什么不运行?
[我看到很多人建议使用docker。我也尝试过。
我使用命令为docker设置了一个容器sudo docker run --name db1 -p7474:7474 -p7687:7687 -d -v /db1/data:/data -v /db1/logs:/logs -v /db1/conf:/conf --env NEO4J_AUTH=none neo4j
这里我有一个现有的/ d1 / data / databases / graph.db文件夹。当我转到localhost:7474时,可以向我显示现有数据库。
我通过命令设置another docker容器sudo docker run --name db2 -p3001:7474 -p3002:7473 -p3003:7687 -d -v /db2/data:/data -v /db2/logs:/logs -v /db2/conf:/conf --env NEO4J_AUTH=none neo4j
这里我希望看到一个EMPTY数据库,但是我又看到了已经存在的数据库。当我转到db2内的数据文件夹时。我看到它在这里创建了一些文件。为什么我看到相同的数据库?
还请注意,当我去查看数据库时,显示它们使用相同螺栓端口的网页标题?
我可以复制neo4j图像并使用其他图像生成容器吗?有帮助吗?
我认识到多个数据库正在运行并且处于活动状态但是以某种方式,我无法通过浏览器访问第二个数据库。
考虑docker命令-
cmd1:sudo docker run --name db1 -p7474:7474 -p7687:7687 -d -v /db1/data:/data -v /db1/logs:/logs -v /db1/conf:/conf --env NEO4J_AUTH=none neo4j
cmd2:sudo docker run --name db2 -p3001:7474 -p3002:7473 -p3003:7687 -d -v /db2/data:/data -v /db2/logs:/logs -v /db2/conf:/conf --env NEO4J_AUTH=none neo4j
容器端口默认为db1
实例公开为同一主机端口。而对于db2
实例系列,已使用3xxx。
要浏览neo4j提供的UI,可以使用映射到7474 or 3001
容器端口的7474
端口。
Neo4j浏览器使用默认值(来自neo4j.conf)连接到neo4j服务器。默认设置为bolt://<machineip>:7687
,其中db1
实例已将容器端口暴露给7687
主机端口。在7687端口上发现正在运行的实例,该实例启动了db1
和db2
的WebSocket连接。
如何连接到适当的实例?
使用::server disconnect
和:server connect
,带有适当的bolt://<machineip>:port
连接字符串
将db1
实例螺栓容器端口映射到其他主机端口(即7687以外的端口)由于没有默认值可用
((首选),设置相同的hostport:containerport组合,例如]
cmd2:sudo docker run --name db2 -p3001:7474 -p3002:7473 -p3003:3003-d -v /db2/data:/data -v /db2/logs:/logs -v /db2/conf:/conf --env NEO4J_AUTH=none neo4j
在这种情况下,必须映射卷以向neo4j.conf
提供更新后的值作为dbms.connector.bolt.listen_address=:3003