1

ドッカー画像付きHyperledgerファブリックV0.6をセットアップしました。私は小さなチェーンコードプログラムを書いていくつかの操作を実行します。 Hyperledgerブロックチェーンからの要求に応じて、データが格納され、取得されます。ドッカーが再起動後にデータを保存していないHyperledgerファブリック

チェーンコードプログラムを再起動しても、データはそのまま残ります。 Ofcouseこれは、予想される動作でなければなりません。

しかし、私はHyperlockerファブリックをコマンドdocker-composeで停止し、docker-compose startで再度開始してチェーンコードプログラムを開始すると、再起動前に書き込まれたデータ全体がなくなっていることがわかりました。ブロックチェーン内にデータが見つかりませんでした。

どうすればこのHyperledgerの動作を回避できますか?私はそれをシングルピア/ノード上で実行しています。複数のピアで、ピアの1つが再起動されると、他のピアからのデータ/トランザクションがそこにコピーされます。しかし、すべてのピアがダウンしている最悪のシナリオを考えてみましょう。それは私たちがすべてのデータを失うことを意味しますか?公式docsdocker-compose down停止し、がそのボリュームと一緒にドッキングウィンドウ・コンファイルに記載されているすべてのコンテナを削除します(外部として指定しない限り、ドキュメントに見て)を1として

答えて

4

docker-compose stopでコンテナを停止することができます。この方法では、docker-compose upのデータは保存されます。

0

A Note on Data Persistence

データの永続性がピアコンテナまたはCouchDBの容器に所望される場合、1つのオプションは、コンテナ内の関連するディレクトリにドッカーホストにディレクトリをマウントすることです。たとえば、あなたがdocker-compose-base.yamlファイル内のピアコンテナの仕様では、以下の2行を追加する可能性があります。

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

をCouchDBのコンテナについて、あなたはCouchDBのコンテナ仕様に次の2行を追加する可能性があります。

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

関連する問題