配置对等节点运行时,示例docker-compose文件中包含许多环境变量。有什么地方我可以发现它们都有记录吗?
e.g。
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
答案 0 :(得分:4)
Hyperledger Fabric提供了一个名为 core.yaml 的配置文件,您可以在文件夹/ etc / hyperledger / fabric /
上找到在对等容器内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()
这使得viper在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
请注意,只有在同伴开始之前导出时才会生效。
答案 1 :(得分:2)
Hyperledger Fabric提供sample configuration file,基本上包含peer
组件的所有可能属性。当然,您需要使用以下公式将yaml属性转换为相应的环境变量名称:
foo:
bar: baz
变为CORE_FOO_BAR=baz
这同样适用于orderer
组件,该组件拥有自己的sample configuration file。
答案 2 :(得分:0)
环境实际上是core.yaml中的项目,替换“。”用“_”