2017-12-20 1 views
0

Neo4j와 Docker를 배우고있었습니다. neo4j 고정 컨테이너를 만들고 cypher query lang을 사용하여 데이터를 추가하려고했습니다. 그리고 그것을 다른 호스트로 내 보냅니다. 어떻게해야합니까?Neo4j 도커 컨테이너 데이터가 비어 있습니다. 컨테이너 내부의 기존 데이터로 커밋하면

단계 나는 docker run --publish=7474:7474 --publish=7687:7687 -e NEO4J_AUTH=neo4j/Password0 neo4j:latest를 사용하여 Neo4j 고정 표시기의 이미지를 실행

  1. 했다. Neo4j 이미지를 가져 오는 것으로 이해하면 새로운 neo4j 고정 컨테이너를 만들고 실행합니다.

  2. neo4j-browser를 통해 일부 cypher 쿼리를 실행하여 데이터를 neo4j 컨테이너에 추가합니다.

  3. 그런 다음 docker container commit NEO4J_CONTAINER_ID을 실행했습니다. 컨테이너에서 새로운 도커 이미지를 만듭니다.

  4. 모든 도커 컨테이너 프로세스를 중지하고 docker run NEW_NEO4J_IMAGE을 실행하십시오.

내가 브라우저를 통해 데이터를 확인, 내가 neo4j 고정 표시기 컨테이너는 컨테이너 내부에 데이터를 저장 가정

비어 있습니다.

답변

0

당신은 Dockerfile 내에서 볼륨 변경 링크

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

아래를 보면 : 어떤 빌드 단계가 선언 된 후 볼륨 내에서 데이터를 변경하는 경우, 이러한 변경이됩니다 버려진.

컨테이너를 실행하고 변경 내용을 커밋하려고 할 때도 마찬가지입니다. 변경 내용이 볼륨에 대한 것이면 커밋 중에 데이터가 삭제됩니다.

이미지에서 데이터를 유지하는 방법은 컨테이너의 시작/부팅시로드하는 것입니다. 그렇지 않으면 외부 호스트 볼륨을 사용하여 영구 저장을 위해 데이터를 저장하십시오.

관련 문제