docker - Hyperledger Fabric:了解 Docker 容器
问题描述
背景
我一直在关注使用部署在我的本地主机上的 docker 容器构建您的第一个网络教程。但是,我不确定容器内的一些文件,我需要澄清一下。
对等容器
在目录里面
/var/hyperledger/production/chaincodes
,有一个文件mycc.1.0
,我猜是编译的。peer chaincode install
在 cli 容器中运行时是否安装了此链代码?mycc.1.0
系统链码是什么?在目录
/var/hyperledger/production/ledgersData
中,还有许多其他目录和文件,如下所示。我有一个粗略的想法,它存储了世界状态和区块链。但是每个目录中的详细信息是什么?bookkeeper
chains
configHistory
historyLeveldb
ledgerProvider
pvtdataStore
stateLeveldb
在目录里面
/var/hyperledger/production/transientStore
,有几个文件。000001.log
CURRENT
LOCK
LOG
MANIFEST-000000
我还注意到在上面第 2 点列出的目录中可以找到这些文件(名称相同但不确定上下文是否相同)。transientStore
那么和之间有什么区别或关系ledgersData
?
订购者容器
在目录
/var/hyperledger/orderer
中,有msp
和tls
加密材料。但目的是orderer.genesis.block
什么?它只是用于引导区块链网络吗?在浏览了这个文件后,我发现它由证书和 ACL 组成。这些材料是否也用于监控渠道政策以及验证交易?目录里面
/var/hyperledger/production/orderer
。有两个目录chains
和index
.chains
它们看起来与对等容器中的目录非常相似。但我仍然不知道这些文件是什么。
上述容器具有名称peer#.org#.example.com
和orderer.example.com
. 但是当我运行时docker container ls
,我发现有dev-peer#.org#.example.com-mycc-1.0
docker 容器。但我不知道他们为什么在这里。
谢谢!
更新
添加了第 3 点,
transientStore
如对等容器部分所示(见上文)我注意到
base/docker-compose-base.yaml
,有一个这样的卷安装/var/run/:/host/var/run/
。这些文件似乎是我的本地资料,可能与超级账本结构无关。为什么要挂载这个卷?
解决方案
对等容器
/var/hyperledger/production/chaincodes
- 这是存储已安装链码包的地方。
订购者容器
orderer.genesis.block
是订购者的引导程序块...它包含订购者组织的基本订购者设置和加密材料。排序者组织有能力创建联盟并向其中添加成员。然后,联盟政策将规定谁能够创建频道等。
chains
- 每个通道的原始分类帐文件
dev-peer#.org#.example.com-mycc-1.0
这些是链码容器。Fabric 在 Docker 容器中启动链代码。
推荐阅读
- sql - SQL Server 中是否有一种方法可以显示两个具有相同布局并共享一些公共数据的表之间的字段差异
- php - PHP 警告:PHP 启动:无法加载动态库 'bz2'
- zsh - 嵌套参数扩展未按预期工作
- visual-studio-code - 自动完成在 VS 代码中不起作用,并且从我的 Mac 禁用聚光灯命令 + 空格也不起作用
- php - 从 PHP 中的字符串将数字分解并修剪为数组
- r - 如何将列表中的多个数据框转换为 xts 对象
- css - 如何在css中将句子分成不同的部分
- c# - 如何更新 interop.activeds.dll 病毒
- javascript - AJAX 发布致命错误列不能为空
- google-apps-script - 将我的脚本转换为使用 getRangeData 而不是使用迭代循环 (GoogleAppScript)