我如何知道何时使用哪个超级分层结构的docker容器env变量

时间:2018-03-30 11:57:46

标签: docker hyperledger-fabric hyperledger

我最近玩过Hyperledger Fabric,而且我无法找到可以在超级分层布料泊坞容器上设置的所有环境变量的详尽描述(fabric-orderer,fabric-peer,fabric-ca ,fabric-tools,fabric-kafka,...)

有这样的文件吗?我只发现可能的变量以及它们的不同值会做什么以及何时选择哪个值;甚至在官方文件上。

任何人都可以提供这样的清单解释吗?或者我们可以收集信息来创建这样的清单吗?

理想情况下,我希望得到以下内容:

织物订货者

ORDERER_GENERAL_GENESISMETHOD  

值:文件临时(默认)

如果要将genesis块作为文件提供给容器,请使用

file

在......

时使用

临时

ORDERER_GENERAL_GENESISFILE

value(s):创世纪文件路径的路径

织物等

some env var

...解释......

此处还列出了我见过其他人使用的一些环境变量的样本列表,并没有说明原因,含义或是否有效:

  • ORDERER_GENERAL_LEDGERTYPE
  • ORDERER_GENERAL_BATCHTIMEOUT
  • ORDERER_GENERAL_MAXWINDOWSIZE
  • CONFIGTX_ORDERER_KAFKA_BROKERS
  • ORDERER_GENERAL_LISTENADDRESS
  • ORDERER_GENERAL_PORT
  • ORDERER_GENERAL_HOST
  • ...

我希望在这里提出这个问题是好的(这是我的第一个) 非常感谢你的帮助!

1 个答案:

答案 0 :(得分:1)

这是一个很好的问题,而且确实会对文档做出很好的补充。它目前没有明确记录,但我至少可以解释如何确定变量是什么。

我们使用viper来管理配置。我们发送sample configurationdistribution码头图像和二进制文件。如您所见,有三个配置yaml文件:configtx.yaml,core.yaml和orderer.yaml。对于yaml文件中的每个配置参数,您可以派生一个环境变量,该变量可用于覆盖启动时使用的配置文件中的值。环境变量名称源自文件名(例如core.yaml的CORE),以及配置中嵌套属性的下划线分隔大写(例如CORE_LOGGING_LEVEL)。

提供的sample apps包含docker-compose yaml配置,这些配置利用您可能考虑为自己的目的利用的大部分属性。

与此同时,我创建了一个JIRA来跟踪这一情况,并邀请我们参与贡献,以帮助我们充实我们的文档,这些文档提供了有用的参考。