gpt4 book ai didi

docker - 使用密码文件中的初始数据创建自定义 Neo4j Docker 镜像

转载 作者:行者123 更新时间:2023-12-01 14:34:44 26 4
gpt4 key购买 nike

当您启动容器时,我尝试创建已经提供一些数据的 neo4j 的 docker 镜像。对于我从 neo4j docker 镜像继承的方法,通过 neo4j cypher shell 添加了一些数据。但是当我构建图像并从中运行容器时,数据没有出现在数据库中,但设置了自定义密码。
这是我当前的 dockerfile:

From neo4j:3.4
ENV NEO4J_AUTH=neo4j/password
COPY data.cypher /var/lib/neo4j/import/
USER neo4j
RUN bin/neo4j-admin set-initial-password password || true && \
bin/neo4j start && sleep 5 && \
cat /var/lib/neo4j/import/data.cypher | NEO4J_USERNAME=neo4j NEO4J_PASSWORD=password /var/lib/neo4j/bin/cypher-shell --fail-fast
CMD [neo4j]

我还在 data.cypher 文件中添加了一个匹配查询,以确保 shell 将数据添加到 neo4j。也许它与此有关 /data被定义为neo4j图像中的体积?

最佳答案

我正在使用 Bierbarbar的做法。在克服以下两个陷阱后,我得到了它的工作:

首先,$NEO4J_HOME/data被符号链接(symbolic link)到 /data ,这似乎有权限问题。更改默认数据文件夹:添加 dbms.directories.data=mydata行至 $NEO4J_HOME/conf/neo4j.conf解决了这个问题。

其次,确保 data.cypher文件包含 cypher-shell 的正确格式: 1) 每个 cypher statemnt 末尾需要分号; 2) 有:begin:commit cypher-shell 的某些版本(或所有版本?)中的命令

关于docker - 使用密码文件中的初始数据创建自定义 Neo4j Docker 镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51486424/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com