fabric compose文件解读(peer篇)
peer是fabric中的基础单元,主要负责背书,验证交易合法性,保存区块链数据,查询数据。peer与orderer配合完成区块链的全部功能,orderer可以比作是管理员,peer属于是干货的员工,可以有效的防止权力的滥用。
下面以一段我的配置来解释:
1 services: 2 peer0.Rest.com: 3 container_name: peer0.Rest.com 4 image: hyperledger/fabric-peer:2.2 5 labels: 6 service: hyperledger-fabric 7 environment: 8 #指定核心配置文件的位置,下面这些选项在peercfg中都有相关的默认配置(也就是说下面这些配置可以写在peercfg/core.yaml这个文件里面) 9 - FABRIC_CFG_PATH=/etc/hyperledger/peercfg 10 #设置日志模式 11 - FABRIC_LOGGING_SPEC=DEBUG 12 #- FABRIC_LOGGING_SPEC=DEBUG 13 #Tls相关配置 14 - CORE_PEER_TLS_ENABLED=true 15 - CORE_PEER_PROFILE_ENABLED=false 16 - CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt 17 - CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key 18 - CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/ca.crt 19 # 连接其他peer与orderer的差不多,主要是指出服务端口 20 - CORE_PEER_ID=peer0.Rest.com 21 - CORE_PEER_ADDRESS=peer0.Rest.com:9051 22 - CORE_PEER_LISTENADDRESS=0.0.0.0:9051 23 - CORE_PEER_CHAINCODEADDRESS=peer0.Rest.com:9052 24 - CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:9052 25 - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.Rest.com:9051 26 - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.Rest.com:9051 27 #这个MSPID需要注意与../configtx/configtx.yaml文件中所配置的一样,配置身份信息 28 - CORE_PEER_LOCALMSPID=Org2MSP 29 - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/fabric/msp 30 - CORE_OPERATIONS_LISTENADDRESS=peer0.Rest.com:9446 31 - CORE_METRICS_PROVIDER=prometheus 32 - CHAINCODE_AS_A_SERVICE_BUILDER_CONFIG={"peername":"peer0rest"} 33 - CORE_CHAINCODE_EXECUTETIMEOUT=300s 34 - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock 35 - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=fish 36 volumes: 37 - ../org_crypto_conf/organizations/peerOrganizations/Rest.com/peers/peer0.Rest.com:/etc/hyperledger/fabric 38 - peer0.Rest.com:/var/hyperledger/production 39 - ./peercfg:/etc/hyperledger/peercfg 40 #docker.sock文件是安装docker是产生的(这里将这个文件映射到容器内可能是告诉容器当前的网络环境,因为同一组织下的peer是知道其他peer的存在) 41 - /var/run/docker.sock:/host/var/run/docker.sock 42 working_dir: /root 43 command: peer node start 44 ports: 45 - 9051:9051 46 - 9446:9446 47 networks: 48 - test
9:指定peer的配置文件位置,下面这些配置实际上也是在那个配置文件里面,但是放在这里写,一方面会覆盖文件里面的配置,另外一方面比较好修改
下面这个感觉和orderer是一样的,这里就偷个懒~