我正在学习Neo4j和Docker。我想创建neo4j docker容器并使用cypher query lang向它添加一些数据。并将其导出到另一个主机。我该怎么做?
我做的步骤
docker run --publish=7474:7474 --publish=7687:7687 -e NEO4J_AUTH=neo4j/Password0 neo4j:latest
运行Neo4j docker image。据我所知,它拉动neo4j图像,创建并运行新的neo4j docker容器。docker container commit NEO4J_CONTAINER_ID
。它从容器中创建新的docker镜像。docker run NEW_NEO4J_IMAGE
。我通过浏览器检查数据,它是空的
我假设neo4j docker容器将数据保存在容器中。
如果你看下面的链接
https://docs.docker.com/engine/reference/builder/#notes-about-specifying-volumes
从Dockerfile中更改卷:如果任何构建步骤在声明后更改卷内的数据,那么这些更改将被丢弃。
运行容器并尝试提交更改时也会发生相同的情况。如果所做的更改是对卷进行的,则在提交期间将丢弃数据。
您在图像中保留数据的方法是在容器的启动/引导时加载它。或者以其他方式使用外部主机卷,然后将数据存储在那里以实现持久性