2017-12-20 1 views
0

Commit Ich lernte Neo4j und Docker. Ich wollte Neo4j Docker Container erstellen und fügen Sie einige Daten mit cypher query lang hinzu. Und exportieren Sie es auf einen anderen Host. Wie kann ich es tun?Neo4j Docker Container Daten sind leer, wenn mit vorhandenen Daten innerhalb Container

Schritte habe ich

  1. Ich betreibe Neo4j Docker Bild mit docker run --publish=7474:7474 --publish=7687:7687 -e NEO4J_AUTH=neo4j/Password0 neo4j:latest. Wie ich es verstehe, zieht es neo4j Bild, erstellt und führt neue Neo4j Docker Container.

  2. Es wurden einige Abfragen über den Neo4j-Browser ausgeführt, um dem Container neo4j Daten hinzuzufügen.

  3. Dann habe ich docker container commit NEO4J_CONTAINER_ID ausgeführt. Erzeugt ein neues Docker-Bild aus dem Container.

  4. Alle Andock-Container-Prozess gestoppt und docker run NEW_NEO4J_IMAGE ausgeführt.

Und ich überprüften Daten über Browser, ist es leer

I Neo4j Docker Behälter innerhalb des Behälters speichern Daten übernommen.

Antwort

0

Wenn man sich unter Link

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

das Volumen innerhalb des Dockerfile ändern: Wenn alle Build-Schritte, um die Daten innerhalb des Volumens ändern, nachdem er erklärt wurde, werden diese Änderungen sein verworfen.

Dasselbe passiert, wenn Sie einen Container ausführen und versuchen, die Änderungen zu übernehmen. Wenn die Änderungen auf einem Volume vorgenommen werden, werden die Daten während des Commits verworfen.

Der Weg für Sie, um Daten in einem Bild zu erhalten, ist es beim Start/Booten des Containers laden. Oder verwenden Sie andernfalls externe Host-Volumes und speichern Sie die Daten dort für die Persistenz

Verwandte Themen