《Hyperledger Fabric菜鸟进阶攻略》 —3.3.2 关联的docker-compose-base.yaml

举报
华章计算机 发表于 2020/02/16 20:25:53 2020/02/16
【摘要】 本节书摘来自华章计算机《Hyperledger Fabric菜鸟进阶攻略》 一书中第3章,第3.3.2节,作者是黎跃春 韩小东 付金亮  。

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

 

……


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。