Как предотвратить потерю данных при перезапуске матрицы Hyperledger в контейнерах Docker - PullRequest
0 голосов
/ 12 июня 2018

При каждом перезапуске сети Hyperledger Fabric, работающей на контейнерах Docker, все предыдущие данные в Hyperledger удаляются.У меня есть способ избежать этой проблемы?

1 Ответ

0 голосов
/ 12 июня 2018

Хранить данные регистра в томах, смонтированных в док-контейнерах.Если вы изучите учебник «Создайте свою первую сеть», вы сможете получить представление о том, как с этим справиться.Внимательно посмотрите на определения fabric-samples / first-network / base / docker-compose-base.yaml для узлов-заказчиков и одноранговых узлов.Вы найдете, как мы сохраняем состояние между перезапусками.

Например, вот определение заказчика.Последний том в списке сохранит состояние.Пиры обрабатываются аналогично:

version: '2'

services:

  orderer.example.com:
    container_name: orderer.example.com
    image: hyperledger/fabric-orderer:$IMAGE_TAG
    environment:
      - ORDERER_GENERAL_LOGLEVEL=INFO
      - ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
      - ORDERER_GENERAL_GENESISMETHOD=file
      - ORDERER_GENERAL_GENESISFILE=/var/hyperledger/orderer/orderer.genesis.block
      - ORDERER_GENERAL_LOCALMSPID=OrdererMSP
      - ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
      # enabled TLS
      - ORDERER_GENERAL_TLS_ENABLED=true
      - ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key
      - ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt
      - ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
    working_dir: /opt/gopath/src/github.com/hyperledger/fabric
    command: orderer
    volumes:
    - ../channel-artifacts/genesis.block:/var/hyperledger/orderer/orderer.genesis.block
    - ../crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp:/var/hyperledger/orderer/msp
    - ../crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/:/var/hyperledger/orderer/tls
    - orderer.example.com:/var/hyperledger/production/orderer
    ports:
      - 7050:7050
...