1

도커 이미지가있는 Hyperledger 패브릭 V0.6을 설치했습니다. 작은 체인 코드 프로그램을 작성하고 몇 가지 작업을 수행했습니다. Hyperledger 블록 체인의 요청에 따라 데이터가 저장 및 가져 오기됩니다.다시 시작한 후 도커가있는 데이터 저장 기능이없는 Hyperledger 패브릭

체인 코드 프로그램을 다시 시작하면 데이터는 계속 유지됩니다. Ofcouse 이것은 예상 된 동작입니다.

그러나 도커 작성 명령으로 내 Hyperledger 패브릭을 중지하고 도커 작성 시작으로 다시 시작한 다음 체인 코드 프로그램을 시작하면 다시 시작하기 전에 작성된 전체 데이터가 없어졌습니다. 내 블록 체인에서 데이터를 찾을 수 없습니다.

어떻게이 Hyperledger의 동작을 피할 수 있습니까? 단일 피어/노드에서 실행하고 있습니다. 여러 피어가있는 경우 피어 중 하나가 다시 시작되면 다른 피어의 데이터/트랜잭션이 복사됩니다. 그러나 모든 동료가 다운 될 때 최악의 시나리오를 고려하십시오. 그것은 우리가 모든 데이터를 잃어버린 것을 의미합니까?

답변

4
공식 docs docker-compose down 정지 당으로

는 볼륨이 함께 고정 표시기-작성 파일 에 나열된 모든 컨테이너 (외부로 지정하지 않는 한, 문서로 봐)를 제거합니다.

docker-compose stop으로 컨테이너를 중지하려는 경우 docker-compose up 이후 데이터가 보존됩니다. 데이터 지속성 피어 용기 또는 CouchDB를 용기에 요구되는

0

A Note on Data Persistence

경우, 하나의 옵션은 컨테이너에 관련된 디렉토리에 호스트 고정 표시기의 디렉토리를 탑재한다. 예를 들어, docker-compose-base.yaml 파일에 피어 컨테이너 사양에 다음 두 줄을 추가 할 수 있습니다 :

volumes: - /var/hyperledger/peer0:/var/hyperledger/production

을 CouchDB를 컨테이너의 경우, CouchDB를 컨테이너 사양에 다음 두 줄을 추가 할 수 있습니다 :

volumes: - /var/hyperledger/couchdb0:/opt/couchdb/data