据我了解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上工作。
答案 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浏览器连接到同一台主机(请检查螺栓连接中的主机)。