2017-08-01 123 views
3

配置对等节点运行时,示例docker-compose文件中包含许多环境变量。有什么地方我可以找到他们所有记录?哪里可以找到Hyperledger Fabric peer命令可能的环境变量?

例如

environment: 
    - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock 
    - CORE_PEER_ID=peer0.org1.example.com 
    - CORE_LOGGING_PEER=debug 
    - CORE_CHAINCODE_LOGGING_LEVEL=DEBUG 
    - CORE_PEER_LOCALMSPID=Org1MSP 
    - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/ 
    - CORE_PEER_ADDRESS=peer0.org1.example.com:7051 

回答

3

只是延长了@ christo4ferris的答案。 Hyperledger Fabric使用Viper作为配置框架,它可以通过环境变量覆盖配置文件的值。基本上它初始化为以下几点:

// used to prefix config keys to prevent possible collisions 
viper.SetEnvPrefix("core") 

// enforces to check values configured via environmental variables first 
viper.AutomaticEnv() 

这使得毒蛇寻求通过CORE字符串为前缀的环境变量之间的所有配置项。

现在,例如,我们来看看在peer section样本配置中:

peer:    
    id: jdoe    
    networkId: dev  
    listenAddress: 0.0.0.0:7051  
    address: 0.0.0.0:7051 

这些价值可以通过导出适当的环境变量来覆盖,例如对网络ID:

export CORE_PEER_NETWORKID=mypeerID 

同样适用于其他部分,例如如果我们想控制不同部件的测井等级:

logging: 

    peer:  info 
    cauthdsl: warning 
    gossip:  warning 
    ledger:  info 
    msp:  warning 
    policies: warning 
    grpc: error 

为了使MSP组件记录调试级别的消息,我们需要下面的变量导出:

export PEER_LOGGING_MSP=debug 

请注意,这将需要同行开始之前仅在出口的影响。

2

Hyperledger Fabric提供一个sample configuration file,其基本上包括全部为peer部件的可能的属性。当然,你需要使用公式YAML的属性转换为相应的环境变量名:

foo: 

    bar: baz 

成为CORE_FOO_BAR=baz

这同样适用于orderer组件,它有它自己的sample configuration file

0

环境实际上是core.yaml中的项目,取代“。”带“_”

相关问题