《Hyperledger Fabric菜鸟进阶攻略》 —3.3.2 关联的docker-compose-base.yaml
3.3.2 关联的docker-compose-base.yaml
在docker-compose-cli.yaml配置文件中,由extends.file指向了一个base/docker-compose-base.yaml的配置文件,该配置文件指定了Orderer节点与Peer节点的主要配置信息。
Orderer节点容器设置如下信息。
1)environment:该部分主要关注如下核心配置信息。
ORDERER_GENERAL_GENESISFILE:指定在Orderer容器中初始区块的所在路径,由volumes中的../channel-artifacts/genesis.block:/var/hyperledger/orderer/orderer.genesis.block指定主机到Docker的映射。
ORDERER_GENERAL_LOCALMSPID:指定当前Orderer容器的唯一MSPID。
ORDERER_GENERAL_LOCALMSPDIR:指定当前Orderer容器的MSP所在路径。
ORDERER_GENERAL_TLS_ENABLED:是否开启TLS验证。
ORDERER_GENERAL_TLS_PRIVATEKEY:指定私钥所在路径。
ORDERER_GENERAL_TLS_CERTIFICAT:指定证书所在路径。
ORDERER_GENERAL_TLS_ROOTCAS:指定受信任的CA根证书所在路径。
2)working_dir:进入容器后的默认工作目录。
3)volumes:指定系统中的初始区块配置文件、MSP、TLS目录映射到Docker容器中的指定路径下。
4)ports:指定当前节点的监听端口。
各Peer节点容器设置如下信息。
1)extends:基本信息来源于哪个文件。
2)environment:指定容器的ID、监听地址及端口号、本地MSPID,大体与Orderer中的environment部分相同。
3)volumes:将系统的msp及tls目录映射到容器中的指定路径下。
4)ports:指定当前节点的监听端口。
配置文件部分信息如下:
version: '2'
services:
orderer.example.com:
container_name: orderer.example.com
image: hyperledger/fabric-orderer:$IMAGE_TAG
environment:
- ORDERER_GENERAL_LOGLEVEL=INFO
- ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
- 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]
working_dir: /opt/gopath/src/github.com/hyperledger/fabric
command: orderer
volumes:
- ../channel-artifacts/genesis.block:/var/hyperledger/orderer/
orderer.genesis.block
- ../crypto-config/ordererOrganizations/example.com/orderers/
orderer.example.com/msp:/var/hyperledger/orderer/msp
- ../crypto-config/ordererOrganizations/example.com/orderers/
orderer.example.com/tls/:/var/hyperledger/orderer/tls
- orderer.example.com:/var/hyperledger/production/orderer
ports:
- 7050:7050
peer0.org1.example.com:
container_name: peer0.org1.example.com
extends:
file: peer-base.yaml
service: peer-base
environment:
- CORE_PEER_ID=peer0.org1.example.com
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051
- CORE_PEER_GOSSIP_BOOTSTRAP=peer1.org1.example.com:7051
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051
- CORE_PEER_LOCALMSPID=Org1MSP
volumes:
- /var/run/:/host/var/run/
- ../crypto-config/peerOrganizations/org1.example.com/peers/
peer0.org1.example.com/msp:/etc/hyperledger/fabric/msp
- ../crypto-config/peerOrganizations/org1.example.com/peers/
peer0.org1.example.com/tls:/etc/hyperledger/fabric/tls
- peer0.org1.example.com:/var/hyperledger/production
ports:
- 7051:7051
- 7053:7053
……
peer0.org2.example.com:
container_name: peer0.org2.example.com
extends:
file: peer-base.yaml
service: peer-base
environment:
- CORE_PEER_ID=peer0.org2.example.com
- CORE_PEER_ADDRESS=peer0.org2.example.com:7051
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:7051
- CORE_PEER_GOSSIP_BOOTSTRAP=peer1.org2.example.com:7051
- CORE_PEER_LOCALMSPID=Org2MSP
volumes:
- /var/run/:/host/var/run/
- ../crypto-config/peerOrganizations/org2.example.com/peers/
peer0.org2.example.com/msp:/etc/hyperledger/fabric/msp
- ../crypto-config/peerOrganizations/org2.example.com/peers/
peer0.org2.example.com/tls:/etc/hyperledger/fabric/tls
- peer0.org2.example.com:/var/hyperledger/production
ports:
- 9051:7051
- 9053:7053
……
- 点赞
- 收藏
- 关注作者
评论(0)