首页 > 解决方案 > Hyperledger Fabric:了解 Docker 容器

问题描述

背景

我一直在关注使用部署在我的本地主机上的 docker 容器构建您的第一个网络教程。但是,我不确定容器内的一些文件,我需要澄清一下。

对等容器

  1. 在目录里面/var/hyperledger/production/chaincodes,有一个文件mycc.1.0,我猜是编译的。peer chaincode install在 cli 容器中运行时是否安装了此链代码?mycc.1.0系统链码是什么?

  2. 在目录/var/hyperledger/production/ledgersData中,还有许多其他目录和文件,如下所示。我有一个粗略的想法,它存储了世界状态和区块链。但是每个目录中的详细信息是什么?

    • bookkeeper
    • chains
    • configHistory
    • historyLeveldb
    • ledgerProvider
    • pvtdataStore
    • stateLeveldb
  3. 在目录里面/var/hyperledger/production/transientStore,有几个文件。

    • 000001.log
    • CURRENT
    • LOCK
    • LOG
    • MANIFEST-000000

我还注意到在上面第 2 点列出的目录中可以找到这些文件(名称相同但不确定上下文是否相同)。transientStore那么和之间有什么区别或关系ledgersData

订购者容器

  1. 在目录/var/hyperledger/orderer中,有msptls加密材料。但目的是orderer.genesis.block什么?它只是用于引导区块链网络吗?在浏览了这个文件后,我发现它由证书和 ACL 组成。这些材料是否也用于监控渠道政策以及验证交易?

  2. 目录里面/var/hyperledger/production/orderer。有两个目录chainsindex. chains它们看起来与对等容器中的目录非常相似。但我仍然不知道这些文件是什么。

上述容器具有名称peer#.org#.example.comorderer.example.com. 但是当我运行时docker container ls,我发现有dev-peer#.org#.example.com-mycc-1.0docker 容器。但我不知道他们为什么在这里。

谢谢!


更新

  1. 添加了第 3 点,transientStore如对等容器部分所示(见上文)

  2. 我注意到base/docker-compose-base.yaml,有一个这样的卷安装/var/run/:/host/var/run/。这些文件似乎是我的本地资料,可能与超级账本结构无关。为什么要挂载这个卷?

标签: dockerhyperledger-fabrichyperledger

解决方案


对等容器

/var/hyperledger/production/chaincodes- 这是存储已安装链码包的地方。

订购者容器

orderer.genesis.block是订购者的引导程序块...它包含订购者组织的基本订购者设置和加密材料。排序者组织有能力创建联盟并向其中添加成员。然后,联盟政策将规定谁能够创建频道等。

chains- 每个通道的原始分类帐文件

dev-peer#.org#.example.com-mycc-1.0

这些是链码容器。Fabric 在 Docker 容器中启动链代码。


推荐阅读