【Docker】Neo4j 容器化部署

Neo4j环境标准软件基于Bitnami neo4j 构建。当前版本为5.17.0

你可以通过轻云UC部署工具直接安装部署,也可以手动按如下文档操作,该项目已经全面开源,可以从如下环境获取
配置文件地址: https://gitee.com/qingplus/qingcloud-platform

Qinghub Studio 在线体验

什么是 Neo4j?

Neo4j 是一种高性能图形存储,具有成熟且强大的数据库所需的所有功能,例如友好的查询语言和 ACID 事务。

示例

docker run --name neo4j bitnami/neo4j:latest

您可以在环境变量部分找到默认凭据和可用的配置选项。

持久化应用

如果删除容器,所有数据和配置都将丢失,并且下次运行映像时,数据库将重新初始化。为了避免这种数据丢失,您应该mount一个即使在容器被删除后仍然存在的卷。

为了持久化,您应该在路径上安装一个卷/bitnami。上面的示例定义了一个 docker 卷,即neo4j_data. 只要不删除该卷,Neo4j 应用程序状态就会持续存在。

docker run -v /path/to/neo4j-persistence:/bitnami bitnami/neo4j:latest

docker-compose:

neo4j:
  ...
  volumes:
    - /path/to/neo4j-persistence:/bitnami
  ...

NOTE: 由于这是一个非根容器,因此安装的文件和目录必须具有 UID 的适当权限1001。

配置

环境变量

可定制的环境变量
NameDescriptionDefault Value
NEO4J_BIND_ADDRESSNeo4j绑定地址0.0.0.0
NEO4J_ALLOW_UPGRADE允许自动架构升级true
NEO4J_PASSWORDNeo4j 密码。bitnami1
NEO4J_APOC_IMPORT_FILE_ENABLED允许使用 apoc 库导入文件true
NEO4J_APOC_IMPORT_FILE_USE_NEO4J_CONFIG将 neo4j 配置与 apoc 库结合使用false
NEO4J_BOLT_PORT_NUMBER用于 Bolt 协议的端口。7687
NEO4J_HTTP_PORT_NUMBER用于http协议的端口。7474
NEO4J_HTTPS_PORT_NUMBER用于 https 协议的端口。7473
只读环境变量
NameDescriptionValue
NEO4J_BASE_DIRNeo4j 安装目录。${BITNAMI_ROOT_DIR}/neo4j
NEO4J_VOLUME_DIRNeo4j 卷目录。/bitnami/neo4j
NEO4J_DATA_DIRNNeo4j 卷目录。$NEO4J_VOLUME_DIR/data
NEO4J_TMP_DIRNeo4j 临时目录。${NEO4J_BASE_DIR}/run
NEO4J_LOGS_DIRNeo4j 日志目录。${NEO4J_BASE_DIR}/logs
NEO4J_LOG_FILENeo4j 日志文件。${NEO4J_LOGS_DIR}/neo4j.log
NEO4J_PID_FILENeo4j PID 文件。${NEO4J_TMP_DIR}/neo4j.pid
NEO4J_CONF_DIRNeo4j 的配置目录。${NEO4J_BASE_DIR}/conf
NEO4J_PLUGINS_DIRNeo4j 的插件目录。${NEO4J_BASE_DIR}/plugins
NEO4J_METRICS_DIRNeo4j 的指标目录。${NEO4J_VOLUME_DIR}/metrics
NEO4J_CERTIFICATES_DIRNeo4j 的证书目录。${NEO4J_VOLUME_DIR}/certificates
NEO4J_IMPORT_DIRNeo4j 的导入目录。${NEO4J_VOLUME_DIR}/import
NEO4J_MOUNTED_CONF_DIRNeo4j 的已安装配置目录。${NEO4J_VOLUME_DIR}/conf/
NEO4J_MOUNTED_PLUGINS_DIR已安装 Neo4j 的插件目录。${NEO4J_VOLUME_DIR}/plugins/
NEO4J_INITSCRIPTS_DIRneo4j 初始化脚本目录的路径/docker-entrypoint-initdb.d
NEO4J_CONF_FILENeo4j 的配置文件。${NEO4J_CONF_DIR}/neo4j.conf
NEO4J_APOC_CONF_FILENeo4j 的配置文件。${NEO4J_CONF_DIR}/apoc.conf
NEO4J_VOLUME_DIR用于安装配置文件的 Neo4j 目录。${BITNAMI_VOLUME_DIR}/neo4j
NEO4J_DATA_TO_PERSISTNeo4j 数据要持久保存。data
NEO4J_DAEMON_USERNeo4j 系统用户。neo4j
NEO4J_DAEMON_GROUPNeo4j 系统组。neo4j
JAVA_HOMEJava 安装文件夹。${BITNAMI_ROOT_DIR}/java

当您启动 neo4j 映像时,您可以通过在 docker-compose 文件或命令行上传递一个或多个环境变量来调整实例的配置docker run。

使用 Docker Compose 指定环境变量
neo4j:
  ...
  environment:
    - NEO4J_BOLT_PORT_NUMBER=7777
  ...
在 Docker 命令行上指定环境变量
docker run -d -e NEO4J_BOLT_PORT_NUMBER=7777 --name neo4j bitnami/neo4j:latest

使用 Neo4j 配置文件

为了加载您自己的配置文件,您必须使它们可供容器使用。您可以在/bitnami/neo4j/conf.

使用 Docker 组合
neo4j:
  ...
  volumes:
    - '/local/path/to/your/confDir:/bitnami/neo4j/conf'
  ...

添加额外的 Neo4j 插件

为了添加额外的插件,您必须使它们可供容器使用。您可以在/bitnami/neo4j/plugins.

使用 Docker Compose 添加插件
neo4j:
  ...
  volumes:
    - '/local/path/to/your/plugins:/bitnami/neo4j/plugins'
  ...

日志

Bitnami neo4j Docker 映像将容器日志发送到stdout. 要查看日志:

docker logs neo4j

or using Docker Compose:

docker-compose logs neo4j
  • 33
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你可以使用 Docker 来安装和部署多个 Neo4j 容器。下面是一个简单的步骤: 1. 确保你已经安装了 Docker。你可以在 Docker 官方网站上找到适合你操作系统的安装包,并按照说明进行安装。 2. 创建一个用于存储 Neo4j 数据的目录。在命令行中执行以下命令: ``` mkdir neo4j-data ``` 3. 创建一个自定义的 Docker 网络,以便容器之间可以相互通信。在命令行中执行以下命令: ``` docker network create neo4j-network ``` 4. 使用 Docker 运行多个 Neo4j 容器。执行以下命令创建第一个容器: ``` docker run -d --name neo4j1 --network neo4j-network -p 7474:7474 -p 7687:7687 -v $PWD/neo4j-data:/data -e NEO4J_AUTH=neo4j/password neo4j:latest ``` 这将创建一个名为 `neo4j1` 的容器,并将它与 `neo4j-network` 网络连接。容器的 7474 和 7687 端口将映射到主机上,你可以使用这些端口访问 Neo4j 的 Web 界面和 Bolt 协议。 5. 创建更多的容器,可以使用类似的命令,只是需要调整容器名称和端口映射。例如: ``` docker run -d --name neo4j2 --network neo4j-network -p 7475:7474 -p 7688:7687 -v $PWD/neo4j-data:/data -e NEO4J_AUTH=neo4j/password neo4j:latest ``` 这将创建一个名为 `neo4j2` 的容器,并将它与 `neo4j-network` 网络连接。容器的 7475 和 7688 端口将映射到主机上。 你可以根据需要创建更多的容器,并根据你的需求进行配置。确保每个容器的名称、端口映射和数据目录都不冲突。 希望这些步骤对你有所帮助!如果你有任何其他问题,请随时问我。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值