插件
此页面描述了如何将插件安装到在 Docker 容器内运行的 Neo4j 实例中。有关插件的一般说明,请参阅 配置 → 插件。
安装插件
要安装插件,包括 用户定义过程,将包含插件 JAR 的文件夹或卷安装到 /plugins,例如
docker run \
--publish=7474:7474 --publish=7687:7687 \
--volume=$HOME/neo4j/plugins:/plugins \
neo4j:5.25.1
Neo4j 在启动时自动加载 /plugins 文件夹中找到的任何插件。
NEO4J_PLUGINS 实用程序
Neo4j Docker 镜像包含一个启动脚本,该脚本可以在运行时自动下载和配置某些 Neo4j 插件。
|
此功能旨在促进在开发环境中使用 Neo4j 插件,但不建议在生产环境中使用。 要在生产环境中使用 Neo4j Docker 容器中的插件,请参阅 安装用户定义过程。 |
NEO4J_PLUGINS 环境变量可用于指定使用此方法安装的插件。这应设置为 支持的插件的 JSON 格式列表。
|
在 Docker 容器中运行 Bloom 需要 Neo4j Docker 镜像 4.2.3-企业版或更高版本。 |
如果传递了无效的 NEO4J_PLUGINS 值,Neo4j 会返回一条通知,表明该插件未知。例如,--env NEO4J_PLUGINS='["gds"]' 返回以下通知
"gds" is not a known Neo4j plugin. Options are:
apoc
apoc-extended
bloom
graph-data-science
graphql
n10s
apoc)您可以使用 Docker 参数 --env NEO4J_PLUGINS='["apoc"]' 并运行以下命令
docker run -it --rm \
--publish=7474:7474 --publish=7687:7687 \
--env NEO4J_AUTH=none \
--env NEO4J_PLUGINS='["apoc"]' \
neo4j:5.25.1
apoc) 和图数据科学插件 (graph-data-science)您可以使用 Docker 参数 --env NEO4J_PLUGINS='["apoc", "graph-data-science"]' 并运行以下命令
docker run -it --rm \
--publish=7474:7474 --publish=7687:7687 \
--env NEO4J_AUTH=none \
--env NEO4J_PLUGINS='["apoc", "graph-data-science"]' \
neo4j:5.25.1
存储下载的插件
在带宽有限或 Neo4j 频繁停止和启动的情况下,可能需要下载一次插件并重复使用它们,而不是每次都下载它们。
通过结合使用NEO4J_PLUGINS实用程序和将存储挂载到/plugins,插件 jar 文件将下载到/plugins文件夹中。然后,可以在以后再次使用它来为 Neo4j 提供相同的插件,而无需设置NEO4J_PLUGINS。
$HOME/neo4j/pluginsdocker run -it --rm \
--publish=7474:7474 --publish=7687:7687 \
--env NEO4J_AUTH=none \
--env NEO4J_PLUGINS='["apoc"]' \
--volume=$HOME/neo4j/plugins:/plugins \ (1)
neo4j:5.25.1
| 1 | 将主机文件夹$HOME/neo4j/plugins挂载到/plugins。 |
apoc插件。docker kill <containerID/name>
ls $HOME/neo4j/plugins
apoc.jar
apoc。docker run -it --rm \
--publish=7474:7474 --publish=7687:7687 \
--env NEO4J_AUTH=none \
--volume=$HOME/neo4j/plugins:/plugins \
neo4j:5.25.1
cypher-shell "RETURN apoc.version();"
安装插件许可证
如果插件需要许可证,则可以通过将包含许可证文件(s)的文件夹或卷挂载到/licenses来为容器提供许可证文件。
|
要检查插件是否需要许可证,请参阅通用插件文档。 |
docker run \
--publish=7474:7474 --publish=7687:7687 \
--volume=$HOME/neo4j/plugins:/plugins \ (1)
--volume=$HOME/neo4j/licenses:/licenses \ (2)
neo4j:5.25.1
| 1 | 包含插件 jar 文件的文件夹。 |
| 2 | 包含许可证文件的文件夹。 |
如果使用NEO4J_PLUGINS实用程序安装插件,也必须提供许可证。
NEO4J_PLUGINS实用程序通过将文件夹挂载到容器来安装插件和许可证docker run \
--publish=7474:7474 --publish=7687:7687 \
--env NEO4J_PLUGINS='["bloom"]' \
--volume=$HOME/neo4j/licenses:/licenses \ (1)
neo4j:5.25.1
| 1 | 包含许可证文件的文件夹。 |