Neo4jdocker集装箱数据是空的,当承诺与容器内的现有数据

我正在学习Neo4j和Docker。 我想创buildneo4jdocker容器,并使用密码查询lang添加一些数据。 并将其导出到另一个主机。 我该怎么做?

我做的步骤

  1. 我使用docker run --publish=7474:7474 --publish=7687:7687 -e NEO4J_AUTH=neo4j/Password0 neo4j:latest run运行Neo4j docker run --publish=7474:7474 --publish=7687:7687 -e NEO4J_AUTH=neo4j/Password0 neo4j:latest 。 据我了解,它拉neo4j图像,创build和运行新的neo4jdocker集装箱。

  2. 通过neo4j-browser执行一些密码查询,将数据添加到neo4j容器。

  3. 然后我执行docker container commit NEO4J_CONTAINER_ID 。 它从容器创build新的docker图像。

  4. 停止所有docker集装箱进程并运行docker run NEW_NEO4J_IMAGE

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

我假设neo4jdocker容器保存容器内的数据。

如果你看下面的链接

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

更改Dockerfile中的音量:如果任何构build步骤在声明后更改了音量内的数据,则这些更改将被丢弃。

运行容器并尝试提交更改时也会发生同样的情况。 如果所做的更改是一个卷,那么在提交期间,数据将被丢弃。

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