Docker 部署 Neo4j 方法
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