当与容器内的现有数据一起提交时,Neo4j docker容器数据为空

问题描述 投票:1回答:1

我正在学习Neo4j和Docker。我想创建neo4j docker容器并使用cypher query lang向它添加一些数据。并将其导出到另一个主机。我该怎么做?

我做的步骤

  1. 我使用docker run --publish=7474:7474 --publish=7687:7687 -e NEO4J_AUTH=neo4j/Password0 neo4j:latest运行Neo4j docker image。据我所知,它拉动neo4j图像,创建并运行新的neo4j docker容器。
  2. 通过neo4j-browser执行一些cypher查询,将数据添加到neo4j容器中。
  3. 然后我执行了docker container commit NEO4J_CONTAINER_ID。它从容器中创建新的docker镜像。
  4. 停止所有docker容器进程并运行docker run NEW_NEO4J_IMAGE

我通过浏览器检查数据,它是空的

我假设neo4j docker容器将数据保存在容器中。

docker neo4j
1个回答
2
投票

如果你看下面的链接

https://docs.docker.com/engine/reference/builder/#notes-about-specifying-volumes

从Dockerfile中更改卷:如果任何构建步骤在声明后更改卷内的数据,那么这些更改将被丢弃。

运行容器并尝试提交更改时也会发生相同的情况。如果所做的更改是对卷进行的,则在提交期间将丢弃数据。

您在图像中保留数据的方法是在容器的启动/引导时加载它。或者以其他方式使用外部主机卷,然后将数据存储在那里以实现持久性

© www.soinside.com 2019 - 2024. All rights reserved.