2017-08-01 46 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中的項目,取代「。」帶「_」

相關問題