前提
cryptogen生成的文件放置在./crypto-config内。
configtxgen生成的文件放置在./channel-artifacts内。
compose配置文件:
docker-compose-ordererY.yaml
|-base/orderer-base.yaml
orderer-base
version: '2'
services:
orderer-base:
#orderer的镜像
image: hyperledger/fabric-orderer
#变量
environment:
- ORDERER_GENERAL_LOGLEVEL=debug
- ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
- ORDERER_GENERAL_LISTENPORT=7050
- ORDERER_GENERAL_GENESISMETHOD=file
- ORDERER_GENERAL_GENESISFILE=/var/hyperledger/orderer/orderer.genesis.block
- ORDERER_GENERAL_LOCALMSPID=OrdererMSP
- ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
# enabled TLS
- ORDERER_GENERAL_TLS_ENABLED=true
- ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key
- ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt
- ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
- ORDERER_KAFKA_RETRY_LONGINTERVAL=10s
- ORDERER_KAFKA_RETRY_LONGTOTAL=100s
- ORDERER_KAFKA_RETRY_SHORTINTERVAL=1s
- ORDERER_KAFKA_RETRY_SHORTTOTAL=30s
- ORDERER_KAFKA_VERBOSE=true
- ORDERER_KAFKA_BROKERS=[k1:9092,k2:9092,k3:9092,k4:9092]
#工作目录
working_dir: /opt/gopath/src/github.com/hyperledger/fabric
#挂载
volumes:
- ../channel-artifacts/genesis.block:/var/hyperledger/orderer/orderer.genesis.block
- 7050:7050
docker-compose-ordererY
#每个orderer对应一个ordererY.example.com
version: '2'
services:
#容器名称
container_name: ordererY.example.com
#引用的服务
extends:
file: orderer-base.yaml
service: orderer-base
#挂载
volumes:
- ./crypto-config/ordererOrganizations/example.com/orderers/ordererY.example.com/msp:/var/hyperledger/orderer/msp
- ./crypto-config/ordererOrganizations/example.com/orderers/ordererY.example.com/tls:/var/hyperledger/orderer/tls
# 数据固化,将orderer的数据映射到本地
- ./chainData/orderer/ordererY/:/var/hyperledger/production/
#所有kafka、zookeeper和orderer容器的主机名与IP
extra_hosts:
- "z1:10.0.200.113"
- "z2:10.0.200.114"
- "z3:10.0.200.115"
- "k4:10.0.200.116"
- "k1:10.0.200.113"
- "k2:10.0.200.114"
- "k3:10.0.200.115"
- "orderer1.example.com:10.0.200.111"
- "orderer2.example.com:10.0.200.113"
- "orderer3.example.com:10.0.200.114"