在docker

时间:2019-03-12 12:12:16

标签: windows docker neo4j dockerfile

据我了解Docker,通过多次运行“ docker run”多次安装映像来创建像dev或prod这样的不同环境应该很简单。

但是,我构建了一个扩展neo4j的映像,以使用以下Dockerfile创建一个自定义配置的neo4j映像:

FROM neo4j:3.5
COPY neo4j.conf /var/lib/neo4j/conf/neo4j.conf
COPY apoc-3.5.0.1.jar /var/lib/neo4j/plugins/apoc.jar

我已经用它构建了

docker build -t myneo .

现在我像这样使用script.bat启动了2次:

docker run -d --rm --name neo4j-prod -p 10074:7474 -p 10087:7687 myneo
docker run -d --rm --name neo4j-dev -p 7474:7474 -p 7687:7687 myneo

现在,我有两个实例可以在:10074和:7474下访问,但是,当我在其中一个中创建某个日期时,它也会出现在另一个实例中。我究竟做错了什么? 可悲的是,我必须在Windows上工作。

1 个答案:

答案 0 :(得分:1)

看起来您的两个Neo4j实例都指向文件系统上的同一数据库。

您可以在neo4j.conf文件中更改数据库位置。 默认情况下,数据库存储在data目录中。

您可以取消注释以下行,并根据您的环境进行更改。

#dbms.directories.data=data

喜欢

dbms.directories.data=prod_data

另一种选择是保持数据库位置不变,并将不同的数据库用于prod和dev。

您可以在下一行取消注释并更改活动数据库名称。

#dbms.active_database=graph.db

喜欢

dbms.active_database=prod_graph.db

编辑: 如果不是上述问题,则可能是您正在从Neo4j浏览器连接到同一台主机(请检查螺栓连接中的主机)。

请参阅以下屏幕截图: enter image description here