docker Hyperledger结构卷装载不工作

42fyovps  于 2023-03-17  发布在  Docker
关注(0)|答案(3)|浏览(111)

我们正在使用Hyperledger Fabric创建一个网络。我们所有的分类账数据都存储在/var/lib/docker/volume目录中,实际上,一旦网络关闭,该目录就会被删除。在我看来,Docker卷挂载似乎不起作用。如何使用Hyperledger Fabric建议的本地系统卷../var/hyperledger来存储相同的内容。

btxsgosb

btxsgosb1#

您可以使用docker yaml文件中的卷属性。

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

0pizxfdo2#

如果你使用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)是超级分类账文件和目录的根区域。在不太了解你如何工作你的系统的情况下,我提供这个作为一个有过这种类型使用的良好经验的人的建议。如果你正在使用network.sh来使网络瘫痪,也许您可以从对docker-compose的networkDown()函数调用中删除down --volumes --remove-orphans

qnakjoqk

qnakjoqk3#

尝试使用sudo
例如sudo ./network.sh up而不是./network.sh up

相关问题