Hyperledger Fabric本机设置与Hyperledger Fabric Docker版本设置之间的区别?

时间:2019-06-26 02:45:48

标签: docker hyperledger-fabric hyperledger

我是Hyperledger Fabric的新手,我对本机二进制文件和Docker映像感到困惑。

当我们在Kubernetes上部署HLF时,它需要yaml中的配置文件,并且该yaml文件需要一些规范来启动docker容器服务,并且需要来自docker hub的结构映像,这应该在yaml文件的“容器”部分中提及。但是,与本机版本一样,我们需要设置core.yaml和orderer.yaml文件以配置对等方和订购者二进制文件,而在Docker版本中则不需要。为什么在docker版本中没有像core.yaml和orderer.yaml这样的配置文件。

同时具有本地二进制文件和docker映像的目的是什么?这些是彼此完成还是只是彼此提供替代品?

2 个答案:

答案 0 :(得分:2)

  1. 泊坞窗容器中安装了二进制文件。
  2. 泊坞窗版本不需要core.yaml或orderer.yaml 除非您想通过自定义环境自行安装 变量。通常,环境变量在 yaml文件存在于docker compose文件中 环境部分。

如果仍然感到困惑,请发表评论。

答案 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映像上设置配置。有两种方法:

  1. 将自配置的core.yaml安装到其在容器上的位置。
  2. 更常见:在您的k8s yaml文件上设置environment。例如以CORE_PEER_ORDERER_GENERAL_等开头。

如果您仍然感到困惑,请发表评论。