写在前面

本篇主要记录在 Mac 本地上以 docker 形式部署 neo4j,整体来讲并不复杂,docker 相关东西不再赘述。这篇文章给了我很多帮助。

首先需要 neo4j 的镜像

# docker hub 有现成的 neo4j 镜像,就用官方的第一个,拉取到本地即可。
(base) NanaLvs-MacBook-Pro:~ username$ docker search neo4j
NAME                                DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
neo4j                               Neo4j is a highly scalable, robust native gr…   999       [OK]
tpires/neo4j                        Neo4j is a highly scalable, robust (fully AC…   82                   [OK]
kbastani/neo4j-graph-analytics      Graph analytics engine for Neo4j using Apach…   28                   [OK]# 虽然我已经更新了国内的镜像源,但是安装时仍然等了很久,需要点耐心,具体耗时没跟进。
(base) NanaLvs-MacBook-Pro:~ username$ docker pull neo4j
# 查看本地的镜像 确认 neo4j 成功
(base) NanaLvs-MacBook-Pro:~ username$ docker images

做 neo4j 的容器

有了 neo4j 的镜像之后,就可以做容器了。后面很多操作需要重启容器才会生效。

端口

neo4j 使用 7474 和 7687 两个端口,我们指定其具体的映射,从容器的两个端口号映射到本地的端口号,为了方便记忆,端口号不变。

-p 7474:7474 -p 7687:7687

文件夹映射

neo4j 需要 4 个文件夹,分别是 data、logs、conf、import,分别用来存放数据、运行日志、配置文件、导入 neo4j 构建数据库的源数据(会同步到容器中,包括节点文件和关系文件)。我们在本地也建 4 个文件夹,与 neo4j 容器中的一一做映射。做完映射之后,方便我们后面根据需要将数据导入到 neo4j 的容器中。为了清晰和方便,一般都是建议单独建立一个文件夹来存放刚刚提到的 4 个文件夹,比如在 user 下面建立文件夹 Neo4j,再在其下面建立刚刚说的 4 个文件夹。

# 映射本地和容器的文件夹,冒号前的是本地文件夹路径,冒号后是容器的对应文件夹
# 依次是 data、logs、conf、import
-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

设定数据库的名字和访问密码

# neo4j 就是用户名,斜杠后面的 password 就是密码
--env NEO4J_AUTH=neo4j/password

串起来的代码如下(shell 中运行当然不能直接回车了,这里只是为了方便阅读)。可以自定义 name 和 auth,路径也要根据自己的实际情况修改,最后 neo4j 意思是用 neo4j 的镜像。

docker run -d
--name container_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

浏览器方式打开

上面的完成之后,我们在本地浏览器打开 localhost:7474 就能看见界面了,输入自己刚刚设置的用户名和密码就可以登录了。

修改 neo4j 的 conf 配置文件,这部分我也就是直接按照资料做的,找到前面说的 4 个文件夹中的 conf 文件夹进入,vim 查看 neo4j.conf 文件,对其进行修改。

dbms.connectors.default_listen_address=0.0.0.0  //指定连接器的默认监听ip为0.0.0.0,即允许任何ip连接到数据库dbms.connector.bolt.listen_address=0.0.0.0:7687  //取消注释并把对bolt请求的监听“地址:端口”改为“0.0.0.0:7687”
dbms.connector.http.listen_address=0.0.0.0:7474  //取消注释并把对http请求的监听“地址:端口”改为“0.0.0.0:7474”

导入数据到 neo4j 的数据库

至此,你的 neo4j 容器中还是空空的,没有任何数据。下一步就是将格式正确的 csv 文件导入到 neo4j 中。

# 命令行交互方式进入容器
(base) NanaLvs-MacBook-Pro:~ username$ docker exec -it 前面创建的容器名 /bin/bash
# 进入容器中后执行下面语句(当然也不能有回车)
bin/neo4j-admin import
# 设置本次数据导入到哪个数据库中,这里就是导入到 mkg 数据库中了,如果数据库不存在会自动创建
--database=mkg
# 节点相关文件
--nodes import/entity_header.csv,import/entity.csv
# 关系相关文件
--relationships import/relation_header.csv,import/relation.csv
# 慎用,强制重新导入
--force

将刚刚建立的 mkg 数据库作为默认数据库,需要去 conf 配置文件里面增加:

dbms.active_database=graph.db

重启之后,去浏览器在数据库图标下就能看见自己导入的数据了。比如这样:

Mac 本地以 docker 方式配置 neo4j相关推荐

  1. Mac本地安装Mysql并配置

    文章目录 一.安装Mysql 二.配置Mysql 三.启动mysql 四.SQL语法初步了解 1.创建数据库 2.建表 3.查看表 一.安装Mysql 笔者推荐采用安装包的方法安装Mysql,比较简单 ...

  2. mac本地开发vscode最佳配置

    零.常用命令 0.1 查找文件 ctrl + p 弹出查找文件窗口 一.git相关 1.1 git代码版本管理 设置只关注追踪的文件 图中文件多数都未track,导致无法采用该工具进行文件管理.本质上 ...

  3. Mac下的Docker及Kubernetes(k8s)本地环境搭建与应用部署、管理界面kubernetes-dashboard

    Mac下的Docker及Kubernetes环境搭建与应用部署 Mac安装docker: brew cask install docker 当然也可以直接去官网下载docker的pkg文件安装 Mac ...

  4. 以Docker方式安装和配置Kong网关和Konga控制台

    文章目录 以Docker方式安装和配置Kong网关和Konga控制台 前言 安装Kong 创建容器网络 启动PostgreSQL数据库 初始化数据 对Kong Admin API作安全防护 启动Kon ...

  5. (Docker)Centos docker配置neo4j和mysql

    1.Centos7安装Docker 使用官方安装脚本自动安装 curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun Do ...

  6. Redash 9安装与配置(基于Docker方式)

    Redash 9 Docker方式安装与配置详解 安装docker 卸载原系统docker apt-get remove docker docker-engine docker.io 安装docker ...

  7. docker 返回错误信息与本地不一致_Docker基本配置及常用命令

    基本命令 启动Docker systemctl start docker 查看Docker版本 docker --version 查看Docker信息 docker info 查看本地镜像 docke ...

  8. Mac下使用docker下载nginx并挂载文件

    Mac下使用docker下载nginx并挂载文件. 也发到另外csdn:https://blog.csdn.net/zenkin/article/details/108612594 一.docker ...

  9. 如何使用 Docker 快速配置数据科学开发环境?

    如何使用 Docker 快速配置数据科学开发环境? 数据科学开发环境配置起来让人头疼,会碰到包版本不一致.错误信息不熟悉和编译时间漫长等问题.这很容易让人垂头丧气,也使得迈入数据科学的这第一步十分艰难 ...

最新文章

  1. python xml解析dom_如何解析python中表示xml.dom.minidom节点的字符串?
  2. 密码程序python_Python获取web密码程序的脚本源代码
  3. easyUI parser的使用
  4. java企业人事管理系统源码_企业人事管理系统完美版源代码 - 源码下载|行业应用软件|企业管理(财务/ERP/EIP等)|源代码 - 源码中国...
  5. flowable实战(八)flowable核心数据库表详细表字段说明
  6. 89c51,8255,6个led数码管显示时钟的汇编语言程序,汇编语言要求编写一个时钟程序 用八位数码管实现时分秒的计时功能...
  7. 如何更改 Safari 浏览器文件下载位置?
  8. imagick php手册,windows7下安装php的imagick和imagemagick扩展教程
  9. macOS Mojave patcher 无法制作启动盘
  10. TypeScript 的类型检查和类型保护
  11. 飞鸽TCP/IP 10106错误解决
  12. ArcGIS10.6基本操作——利用DEM给点赋予高程值
  13. 【python爬虫】easyocr识别gif图片文字
  14. MATLAB中deg2rad和rad2deg函数的使用
  15. 分支语句与循环语句(二)
  16. Windows 通过CMD指令导出的文件夹/文件的目录树
  17. 数据库(单表查询与多表联查)
  18. IoT赛道2019风向,升级为智联网AIoT,AI独角兽入场,“手机+AIoT”成标配【物女心经】
  19. SpringBoot源码分析之内置Servlet容器
  20. GraalVM-云原生时代的JVM(Java)

热门文章

  1. 没读过大学也能去谷歌当工程师?未来硅谷想要怎样的人才?
  2. Python Faker库的使用
  3. 全新PHP程序开发在线工单管理系统源码,售后工单系统
  4. java 自定义状态码
  5. PDF转换软件有哪些?分享免费好用的PDF转换工具!
  6. FPGA设计中inout端口信号的仿真测试
  7. 哈佛大学心理学博士力荐
  8. 赢过大部分人,掏心窝的12条建议
  9. JavaScript游戏战舰世界的改进
  10. 数据库动态变化管理工具(Liquibase)学习