插件
本页描述了如何将插件安装到在 Docker 容器内运行的 Neo4j 实例中。有关插件的一般说明,请参见配置 → 插件。
安装插件
安装插件,包括用户定义的程序,将包含插件 JAR 的文件夹或卷挂载到 /plugins
,例如:
docker run \
--publish=7474:7474 --publish=7687:7687 \
--volume=$HOME/neo4j/plugins:/plugins \
neo4j:5.20.0
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.20.0
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.20.0
存储下载的插件
在带宽受限的情况下,或者 Neo4j 经常停止和启动的情况下,可能希望只下载插件一次并重复使用,而不是每次都下载插件。
通过使用 NEO4J_PLUGINS
实用程序与对 /plugins
进行存储挂载的结合,插件 jar 文件将被下载到 /plugins
文件夹中。然后可以在以后再次使用它,以向 Neo4j 提供相同的插件,而无需设置 NEO4J_PLUGINS
。
$HOME/neo4j/plugins
docker run -it --rm \
--publish=7474:7474 --publish=7687:7687 \
--env NEO4J_AUTH=none \
--env NEO4J_PLUGINS='["apoc"]' \
--volume=$HOME/neo4j/plugins:/plugins \
neo4j:5.20.0
挂载主机文件夹 $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.20.0
cypher-shell "RETURN apoc.version();"
安装插件许可证
如果插件需要许可证,许可证文件可以通过将包含许可证文件的文件夹或卷挂载到 /licenses
来提供给容器。
要检查插件是否需要许可证,请参考通用插件文档。 |
docker run \
--publish=7474:7474 --publish=7687:7687 \
--volume=$HOME/neo4j/plugins:/plugins \
--volume=$HOME/neo4j/licenses:/licenses \
neo4j:5.20.0
包含插件 jar 文件的文件夹。 | |
包含许可文件的文件夹。 |
必须提供许可证,如果使用 NEO4J_PLUGINS
实用程序来安装插件。
NEO4J_PLUGINS
工具将文件夹挂载到容器以安装插件和许可证
docker run \
--publish=7474:7474 --publish=7687:7687 \
--env NEO4J_PLUGINS='["bloom"]' \
--volume=$HOME/neo4j/licenses:/licenses \
neo4j:5.20.0
包含许可证文件的文件夹。 |