【Docker】Neo4j容器部署

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

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

qinghub自动安装部署配置库

什么是 Neo4j?

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

Overview of Neo4j
该软件列表由 Bitnami 打包。产品中提到的各个商标归各自公司所有,使用它们并不意味着任何隶属关系或认可。

示例

docker run --name neo4j bitnami/neo4j:latest

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

Persisting your application

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

为了持久化,您应该在指定路径上挂载一个卷/bitnami。只要不删除该卷,Neo4j 应用程序状态就会持续存在。

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

docker-compose:

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

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

配置

环境变量

可定制的环境变量

Name Description Default Value
NEO4J_BIND_ADDRESS Neo4j绑定地址 0.0.0.0
NEO4J_ALLOW_UPGRADE 允许自动架构升级 true
NEO4J_PASSWORD Neo4j 密码。 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

只读环境变量

Name Description Value
NEO4J_BASE_DIR Neo4j 安装目录。 ${BITNAMI_ROOT_DIR}/neo4j
NEO4J_VOLUME_DIR Neo4j 卷目录。 /bitnami/neo4j
NEO4J_DATA_DIR NNeo4j 卷目录。 $NEO4J_VOLUME_DIR/data
NEO4J_TMP_DIR Neo4j 临时目录。 ${NEO4J_BASE_DIR}/run
NEO4J_LOGS_DIR Neo4j 日志目录。 ${NEO4J_BASE_DIR}/logs
NEO4J_LOG_FILE Neo4j 日志文件。 ${NEO4J_LOGS_DIR}/neo4j.log
NEO4J_PID_FILE Neo4j PID 文件。 ${NEO4J_TMP_DIR}/neo4j.pid
NEO4J_CONF_DIR Neo4j 的配置目录。 ${NEO4J_BASE_DIR}/conf
NEO4J_PLUGINS_DIR Neo4j 的插件目录。 ${NEO4J_BASE_DIR}/plugins
NEO4J_METRICS_DIR Neo4j 的指标目录。 ${NEO4J_VOLUME_DIR}/metrics
NEO4J_CERTIFICATES_DIR Neo4j 的证书目录。 ${NEO4J_VOLUME_DIR}/certificates
NEO4J_IMPORT_DIR Neo4j 的导入目录。 ${NEO4J_VOLUME_DIR}/import
NEO4J_MOUNTED_CONF_DIR Neo4j 的已安装配置目录。 ${NEO4J_VOLUME_DIR}/conf/
NEO4J_MOUNTED_PLUGINS_DIR 已安装 Neo4j 的插件目录。 ${NEO4J_VOLUME_DIR}/plugins/
NEO4J_INITSCRIPTS_DIR neo4j 初始化脚本目录的路径 /docker-entrypoint-initdb.d
NEO4J_CONF_FILE Neo4j 的配置文件。 ${NEO4J_CONF_DIR}/neo4j.conf
NEO4J_APOC_CONF_FILE Neo4j 的配置文件。 ${NEO4J_CONF_DIR}/apoc.conf
NEO4J_VOLUME_DIR 用于安装配置文件的 Neo4j 目录。 ${BITNAMI_VOLUME_DIR}/neo4j
NEO4J_DATA_TO_PERSIST Neo4j 数据要持久保存。 data
NEO4J_DAEMON_USER Neo4j 系统用户。 neo4j
NEO4J_DAEMON_GROUP Neo4j 系统组。 neo4j
JAVA_HOME Java 安装文件夹。 ${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

如果您希望以不同方式使用容器日志,您可以使用该选项配置容器日志记录驱动程序。--log-driver在默认配置中,docker 使用json-file驱动程序。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容