我是Hyperledger Fabric的新手,我对本机二进制文件和Docker映像感到困惑。
当我们在Kubernetes上部署HLF时,它需要yaml中的配置文件,并且该yaml文件需要一些规范来启动docker容器服务,并且需要来自docker hub的结构映像,这应该在yaml文件的“容器”部分中提及。但是,与本机版本一样,我们需要设置core.yaml和orderer.yaml文件以配置对等方和订购者二进制文件,而在Docker版本中则不需要。为什么在docker版本中没有像core.yaml和orderer.yaml这样的配置文件。
同时具有本地二进制文件和docker映像的目的是什么?这些是彼此完成还是只是彼此提供替代品?
答案 0 :(得分:2)
如果仍然感到困惑,请发表评论。
答案 1 :(得分:1)
我猜您提到的本机二进制和docker版本映像是those code。了解您问题的最简单方法是检查代码。
二进制文件和docker映像都可以通过Makefile制成:
docker: $(patsubst %,$(BUILD_DIR)/image/%/$(DUMMY), $(IMAGES))
native: peer orderer configtxgen cryptogen idemixgen configtxlator discover
检查该文件中的make命令,您将发现来自预构建可执行文件的本地二进制文件传递,该可执行文件用于在Makefile中构建docker映像。
peer: $(BUILD_DIR)/bin/peer
peer-docker: $(BUILD_DIR)/image/peer/$(DUMMY)
如果更容易理解:这些更像是依赖项,而不是替代项。 peer的docker版本(启动命令为peer node start
)更像是peer
二进制文件的实体。
此外,如果您docker exec
进入docker版本的超级账本结构,您会发现/etc/hyperledger/fabric
中有core.yaml或orderer.yaml。我们确实需要在docker映像上设置配置。有两种方法:
core.yaml
安装到其在容器上的位置。environment
。例如以CORE_PEER_
或ORDERER_GENERAL_
等开头。如果您仍然感到困惑,请发表评论。