1. 拉取 Neo4j 镜像
拉取镜像比较简单,用 Pull
就可以了。之后可以用 images
查看。
# 查看镜像
docker search neo4j
# 安装(指定版本的)neo4j
docker pull neo4j(:版本号)
# 查看镜像信息
docker images
2. 构建 Neo4j 容器
这部分主要参考了 docker安装部署neo4j (顺带一提,这真是我见过最好的博客园博客站了~~)。
在任意文件夹构建四个子目录:data, logs, conf, import。
随后可以按照下面的方法运行镜像,获取容器。
docker run -d --name container_name \ //-d表示容器后台运行 --name指定容器名字
-p 7474:7474 -p 7687:7687 \ //映射容器的端口号到宿主机的端口号
-v /home/neo4j/data:/data \ //把容器内的数据目录挂载到宿主机的对应目录下
-v /home/neo4j/logs:/logs \ //挂载日志目录
-v /home/neo4j/conf:/var/lib/neo4j/conf //挂载配置目录
-v /home/neo4j/import:/var/lib/neo4j/import \ //挂载数据导入目录
--env NEO4J_AUTH=neo4j/password \ //设定数据库的名字的访问密码
neo4j //指定使用的镜像
可以直接运行的模板。其中,--name
、NEO4J_AUTH
、password
后面的内容都是可以修改的。地址也是可以修改的。
下面的模板,我就将 NEO4J_AUTH
直接设置为了 none
。这样登陆时就不需要输入密码了,很方便。
# 模板
docker run -d --name neo4j -p 7474:7474 -p 7687:7687 -v /data2/software/neo4j_container/data:/data -v /data2/software/neo4j_container/logs:/logs -v /data2/software/neo4j_container/conf:/var/lib/neo4j/conf -v /data2/software/neo4j_container/import:/var/lib/neo4j/import --env NEO4J_AUTH=none neo4j
3. 远程配置
是否需要远程配置依据个人而定。我看到有的博客说,不进行远程配置就无法远程登陆。我这边测试没有这种情况。如果有的话,可以修改 neo4j.conf
,在下面加入:
dbms.connector.bolt.listen_address=0.0.0.0:7687
dbms.connector.http.listen_address=0.0.0.0:7474
随后使用 restart
重启容器即可。
防止防火墙屏蔽了端口,还可以查看防火墙信息。
# 查看防火墙状态,如果是 inactive 就不用后续操作
sudo ufw status
# 如果防火墙为 active,就需要开放两个端口
sudo ufw allow 7474
sudo ufw allow 7687
sudo ufw reload
4. 常见问题
4.1 登陆时显示问题 Something went wrong: "NotFoundError: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node." and the application can't recover.
这个问题和 neo4j
还有 Chrome
的版本都没有关系,而是 Chrome
的自动翻译造成的。
关闭 Chrome
自动翻译即可解决问题。
4.2 Docker 输入账号密码报错
这个问题查阅了各种方法都没有特别好的解决方案。因此,我最后选择了不设密码。
在 docker
命令中指定 --envs NEO4j_AUTH=none
即可!
Comments | 4 条评论
大佬太强了,这UI设计真好看,技术干货满满!
大佬太强了,这UI设计真好看,技术干货满满!

@小灰灰的迷弟 感谢资瓷~
Testing ip location