Hyperledger Fabric 卷安装不起作用

问题描述 投票:0回答:3

我们正在使用 Hyperledger Fabric 创建一个网络。我们所有的账本数据都存储在 /var/lib/docker/volume 目录中,实际上一旦网络中断就会被删除。在我看来,Docker 安装卷似乎不起作用。如何按照 Hyperledger Fabric ../var/hyperledger 的建议使用本地系统卷来存储它。

docker hyperledger-fabric volume mount
3个回答
0
投票

您可以在 docker yaml 文件中使用 Volumes 属性。

 volumes:
     - LOCAL SYSTEM PATH RELATIVE TO THIS FILE: VOLUME INSIDE DOCKER CONTAINER
    
  e.g- 
    
    volumes:
       - ../system-genesis-block:/var/lib/docker/volume

0
投票

如果您使用 network.sh 脚本来关闭网络,它会删除所有内容——我认为这对开发有好处。使用 docker-compose 停止网络会使一切保持原样。有一种观点认为,为了安全起见,您的数据应该存在于容器之外。您始终可以重新创建容器,但它不会带回丢失的数据。

我喜欢将我的卷存储在靠近超级账本代码的地方,所以我在我的 YAML 中使用以下代码

    volumes:
    - ../system-genesis-block/genesis.block:/var/hyperledger/orderer/orderer.genesis.block
    - ../organizations/ordererOrganizations/vfact.ie/orderers/orderer.vfact.ie/msp:/var/hyperledger/orderer/msp
    - ../organizations/ordererOrganizations/vfact.ie/orderers/orderer.vfact.ie/tls/:/var/hyperledger/orderer/tls
    - $PWD/data/orderer.vfact.ie:/var/hyperledger/production/orderer

当前工作目录 (pwd) 是 Hyperledger 文件和目录的根区域。在不太了解您的系统如何工作的情况下,我将此作为对此类使用有良好经验的人的建议。如果您正在使用 network.sh 关闭网络,也许您可以从 networkDown() 函数调用中删除

down --volumes --remove-orphans
docker-compose。


0
投票

尝试

sudo

例如

sudo ./network.sh up
而不是
./network.sh up

© www.soinside.com 2019 - 2024. All rights reserved.