Hyperledger Fabric 1.0 公有云安装7--集群部署记录

Posted wonder4

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hyperledger Fabric 1.0 公有云安装7--集群部署记录相关的知识,希望对你有一定的参考价值。

因为资源有限,决定在云上使用三台虚机,搭建e2e_cli的样例集群,使用的资源如下:

172.21.0.5   orderer.example.com

172.21.0.13  peer0.org1.example.com

172.21.0.15 peer0.org2.example.com

建立两个组,每个组只有一个peer,以下是各个配置文件和注意事项:

1.在各个主机上都可以支持独立运行e2e的伪分布式docker集群环境

2.在部署时,需要将各个环境初始化,特别是chaincode mycc的docker镜像,删除

3.orderer.example.com的配置文件,需要加extra_hosts,否则无法访问peer节点,这里要加全

# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#

version: '2'

services:

  orderer.example.com:
    extends:
      file:   base/docker-compose-base.yaml
      service: orderer.example.com
    container_name: orderer.example.com
    extra_hosts:
     - "orderer.example.com:172.21.0.5"
     - "peer0.org1.example.com:172.21.0.13"
     - "peer0.org2.example.com:172.21.0.15"

docker-compose的启动和停止

$sudo cp docker-compose-cli.yaml orderer.yaml

按照上面的内容修改

$docker-compose -f orderer.yaml up -d
-d是以deamon方式启动,如果报错,则用docker ps查看时会看到docker并没有启动成功。这时可以去掉-d启动,查看输出的日志,找出问题
$docker-compose -f orderer.yaml down
关闭,会将channel等都删除,详细内容看script/scripts.sh,执行完down后,可以再次执行up,如果不执行down,关闭后再执行up则原来创建的channel都会起来

docker-compose -base.yaml内容修改,其实只修改其中的orderer段的内容即可,peer-base.yaml的内容可不动

ubuntu@VM-0-5-ubuntu:/data/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli/base$ more docker-compose-base.yaml 
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#

version: '2'

services:

  orderer.example.com:
    container_name: orderer.example.com
    image: hyperledger/fabric-orderer
    environment:
      - ORDERER_GENERAL_LOGLEVEL=debug
      - 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
    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_CHAINCODELISTENADDRESS=peer0.org1.example.com:7052
      - 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
    ports:
      - 7051:7051
      - 7052:7052
      - 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_CHAINCODELISTENADDRESS=peer0.org2.example.com:7052
      - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.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
    ports:
      - 7051:7051
      - 7052:7052
      - 7053:7053

4.peer节点,切换到172.21.0.13机器,保证两台机器内网可以ping通,然后修改如下的内容

拷贝一个peer节点的配置文件
$sudo cp docker-compose-cli.yaml peer.yaml
拷贝一个cli docker启动的配置文件,并且执行注册创建查询等脚本
$sudo cp docker-compose-cli.yaml cli.yaml
拷贝一个空的cli镜像脚本,用于以后的查询和操作
$sudo cp docker-compse-cli.yaml cli-no.yaml

peer.yaml

ubuntu@VM-0-13-ubuntu:/data/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli$ more peer.yaml 
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#

version: '2'

services:


  peer0.org1.example.com:
    container_name: peer0.org1.example.com
    extends:
      file:  base/docker-compose-base.yaml
      service: peer0.org1.example.com
    extra_hosts:
     - "orderer.example.com:172.21.0.5"
#     - "peer0.org1.example.com:172.21.0.13" 不要加自身,增加后启动会报错,端口绑定问题
     - "peer0.org2.example.com:172.21.0.15"

cli.yaml

ubuntu@VM-0-13-ubuntu:/data/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli$ more cli.yaml 
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#

version: '2'

services:


  cli:
    container_name: cli
    image: hyperledger/fabric-tools
    tty: true
    environment:
      - GOPATH=/opt/gopath
      - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
      - CORE_LOGGING_LEVEL=DEBUG
      - CORE_PEER_ID=cli
      - CORE_PEER_ADDRESS=peer0.org1.example.com:7051
      - CORE_PEER_LOCALMSPID=Org1MSP
      - CORE_PEER_TLS_ENABLED=true
      - CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
      - CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
      - CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
      - CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
    working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
    command: /bin/bash -c './scripts/script.sh $CHANNEL_NAME; sleep $TIMEOUT'
    volumes:
        - /var/run/:/host/var/run/
        - ../chaincode/go/:/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go
        - ./crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/
        - ./scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/
        - ./channel-artifacts:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifacts
    extra_hosts:
     - "orderer.example.com:172.21.0.5"
     - "peer0.org1.example.com:172.21.0.13"
     - "peer0.org2.example.com:172.21.0.15"

cli-no.yaml

ubuntu@VM-0-13-ubuntu:/data/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli$ more cli-no.yaml 
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#

version: '2'

services:


  cli:
    container_name: cli
    image: hyperledger/fabric-tools
    tty: true
    environment:
      - GOPATH=/opt/gopath
      - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
      - CORE_LOGGING_LEVEL=DEBUG
      - CORE_PEER_ID=cli
      - CORE_PEER_ADDRESS=peer0.org1.example.com:7051
      - CORE_PEER_LOCALMSPID=Org1MSP
      - CORE_PEER_TLS_ENABLED=true
      - CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
      - CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
      - CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
      - CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
      - CHANNEL_NAME=mychannel
    working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
    #command: /bin/bash -c './scripts/script.sh $CHANNEL_NAME; sleep $TIMEOUT'
    volumes:
        - /var/run/:/host/var/run/
        - ../chaincode/go/:/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go
        - ./crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/
        - ./scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/
        - ./channel-artifacts:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifacts
    extra_hosts:
     - "orderer.example.com:172.21.0.5"
     - "peer0.org1.example.com:172.21.0.13"
     - "peer0.org2.example.com:172.21.0.15"

scripts/scripts.sh,后半部分调用顺序

## Create channel
echo "Creating channel..."
createChannel

## Join all the peers to the channel
echo "Having all peers join the channel..."
joinChannel

## Set the anchor peers for each org in the channel
echo "Updating anchor peers for org1..."
updateAnchorPeers 0
echo "Updating anchor peers for org2..."
updateAnchorPeers 2

## Install chaincode on Peer0/Org1 and Peer2/Org2
echo "Installing chaincode on org1/peer0..."
installChaincode 0
echo "Install chaincode on org2/peer2..."
installChaincode 2

#Instantiate chaincode on Peer2/Org2
echo "Instantiating chaincode on org1/peer0..."
instantiateChaincode 0

#Query on chaincode on Peer0/Org1
echo "Querying chaincode on org1/peer0..."
chaincodeQuery 0 100

#Invoke on chaincode on Peer0/Org1
echo "Sending invoke transaction on org2/peer0..."
chaincodeInvoke 2

## Install chaincode on Peer3/Org2
#echo "Installing chaincode on org2/peer3..."
#installChaincode 3

#Query on chaincode on Peer3/Org2, check if the result is 90
echo "Querying chaincode on org2/peer0..."
chaincodeQuery 2 90

base/docker-compose-base.yaml,其实只涉及peer0.org1段的配置,注意端口映射,从docker到local的ip端口可以一致,因为docker运行在不同的主机上,在本例中,如果在一个机器上运行两个peer,则还要考虑org1的两个peer的端口映射问题。

ubuntu@VM-0-13-ubuntu:/data/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli$ more base/docker-compose-base.yaml 
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#

version: '2'

services:

  orderer.example.com:
    container_name: orderer.example.com
    image: hyperledger/fabric-orderer
    environment:
      - ORDERER_GENERAL_LOGLEVEL=debug
      - 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
    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_CHAINCODELISTENADDRESS=peer0.org1.example.com:7052
      - 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
    ports:
      - 7051:7051
      - 7052:7052
      - 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_CHAINCODELISTENADDRESS=peer0.org2.example.com:7052
      - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.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
    ports:
      - 7051:7051
      - 7052:7052
      - 7053:7053

peer-base.yaml

ubuntu@VM-0-13-ubuntu:/data/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli$ more base/peer-base.yaml 
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#

version: '2'
services:
  peer-base:
    image: hyperledger/fabric-peer
    environment:
      - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
      # the following setting starts chaincode containers on the same
      # bridge network as the peers
      # https://docs.docker.com/compose/networking/
      - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2ecli_default
      #- CORE_LOGGING_LEVEL=ERROR
      - CORE_LOGGING_LEVEL=DEBUG
      - CORE_PEER_TLS_ENABLED=true
      - CORE_PEER_GOSSIP_USELEADERELECTION=true
      - CORE_PEER_GOSSIP_ORGLEADER=false
      - CORE_PEER_PROFILE_ENABLED=true
      - CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt
      - CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key
      - CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/ca.crt
    working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
    command: peer node start

peer节点的启动和关闭

$docker-compose -f peer.yaml up -d
$docker-compose -f peer.yaml up 窗口输出日志
$docker-compose -f peer.yaml down 会清空peer中的内容,回到初始环境

cli镜像的启动,因为cli镜像启动时mount了script/scripts.sh脚本的内容,因此在启动cli镜像时,要考虑一下脚本中可能有执行不成功的内容,可以对脚本做修改,将peer0.org1和peer0.org2的内容分开执行,建议在peer0.org2启动后再执行cli,否则报错会比较多

ubuntu@VM-0-13-ubuntu:/data/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli$ more cli.yaml 
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#

version: '2'

services:


  cli:
    container_name: cli
    image: hyperledger/fabric-tools
    tty: true
    environment:
      - GOPATH=/opt/gopath
      - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
      - CORE_LOGGING_LEVEL=DEBUG
      - CORE_PEER_ID=cli
      - CORE_PEER_ADDRESS=peer0.org1.example.com:7051
      - CORE_PEER_LOCALMSPID=Org1MSP
      - CORE_PEER_TLS_ENABLED=true
      - CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
      - CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
      - CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
      - CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
    working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
    command: /bin/bash -c './scripts/script.sh $CHANNEL_NAME; sleep $TIMEOUT'
    volumes:
        - /var/run/:/host/var/run/
        - ../chaincode/go/:/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go
        - ./crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/
        - ./scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/
        - ./channel-artifacts:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifacts
    extra_hosts:
     - "orderer.example.com:172.21.0.5"
     - "peer0.org1.example.com:172.21.0.13"
     - "peer0.org2.example.com:172.21.0.15"

5. peer0.org2节点的启动切换到第三台机器

peer.yaml

ubuntu@VM-0-15-ubuntu:/data/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli$ more peer.yaml 
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#

version: '2'

services:
  peer0.org2.example.com:
    container_name: peer0.org2.example.com
    extends:
      file:  base/docker-compose-base.yaml
      service: peer0.org2.example.com
    extra_hosts:
     - "orderer.example.com:172.21.0.5"
     - "peer0.org1.example.com:172.21.0.13"
#     - "peer0.org2.example.com:172.21.0.15"

cli.yaml

ubuntu@VM-0-15-ubuntu:/data/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli$ more cli.yaml
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#

version: '2'

services:


  cli:
    container_name: cli
    image: hyperledger/fabric-tools
    tty: true
    environment:
      - GOPATH=/opt/gopath
      - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
      - CORE_LOGGING_LEVEL=DEBUG
      - CORE_PEER_ID=cli
      - CORE_PEER_ADDRESS=peer0.org2.example.com:7051
      - CORE_PEER_LOCALMSPID=Org2MSP
      - CORE_CHAINCODE_STARTUPTIMEOUT=6000000
      - CORE_PEER_TLS_ENABLED=true
      - CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.crt
      - CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.key
      - CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
      - CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
    working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
    command: /bin/bash -c './scripts/script.sh $CHANNEL_NAME; sleep $TIMEOUT'
    volumes:
        - /var/run/:/host/var/run/
        - ../chaincode/go/:/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go
        - ./crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/
        - ./scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/
        - ./channel-artifacts:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifacts
    extra_hosts:
     - "orderer.example.com:172.21.0.5"
     - "peer0.org1.example.com:172.21.0.13"
     - "peer0.org2.example.com:172.21.0.15"
cli-no.yaml
ubuntu@VM-0-15-ubuntu:/data/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli$ more cli-no.yaml
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#

version: '2'

services:


  cli:
    container_name: cli
    image: hyperledger/fabric-tools
    tty: true
    environment:
      - GOPATH=/opt/gopath
      - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
      - CORE_LOGGING_LEVEL=DEBUG
      - CORE_PEER_ID=cli
      - CORE_PEER_ADDRESS=peer0.org2.example.com:7051
      - CORE_PEER_LOCALMSPID=Org2MSP
      - CORE_CHAINCODE_STARTUPTIMEOUT=6000000
      - CORE_PEER_TLS_ENABLED=true
      - CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.crt
      - CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.key
      - CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
      - CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
    working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
    #command: /bin/bash -c './scripts/script.sh $CHANNEL_NAME; sleep $TIMEOUT'
    volumes:
        - /var/run/:/host/var/run/
        - ../chaincode/go/:/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go
        - ./crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/
        - ./scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/
        - ./channel-artifacts:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifacts
    extra_hosts:
     - "orderer.example.com:172.21.0.5"
     - "peer0.org1.example.com:172.21.0.13"
     - "peer0.org2.example.com:172.21.0.15"

还是要注意修改script/scripts.sh的内容,在cli.yaml中,cli集群启动后会执行这个脚本。

scripts.sh

## Create channel
#echo "Creating channel..."
#createChannel

## Join all the peers to the channel
#echo "Having all peers join the channel..."
#joinChannel

## Set the anchor peers for each org in the channel
#echo "Updating anchor peers for org1..."
#updateAnchorPeers 0
#echo "Updating anchor peers for org2..."
#updateAnchorPeers 2

## Install chaincode on Peer0/Org1 and Peer2/Org2
#echo "Installing chaincode on org1/peer0..."
#installChaincode 0
#echo "Install chaincode on org2/peer2..."
#installChaincode 2

#Instantiate chaincode on Peer2/Org2
#echo "Instantiating chaincode on org2/peer2..."
#instantiateChaincode 2

#Query on chaincode on Peer0/Org1
#echo "Querying chaincode on org1/peer0..."
#chaincodeQuery 0 100

#Invoke on chaincode on Peer0/Org1
echo "Sending invoke transaction on org2/peer0..."
chaincodeInvoke 2

## Install chaincode on Peer3/Org2
#echo "Installing chaincode on org2/peer3..."
#installChaincode 3

#Query on chaincode on Peer3/Org2, check if the result is 90
echo "Querying chaincode on org2/peer2..."
#chaincodeQuery 3 90
chaincodeQuery 2 90

base/docker-compose-base.yaml

 ubuntu@VM-0-15-ubuntu:/data/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli$ more base/docker-compose-base.yaml 

# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#

version: '2'

services:

  orderer.example.com:
    container_name: orderer.example.com
    image: hyperledger/fabric-orderer
    environment:
      - ORDERER_GENERAL_LOGLEVEL=debug
      - 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
    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_CHAINCODELISTENADDRESS=peer0.org1.example.com:7052
      - 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
    ports:
      - 7051:7051
      - 7052:7052
      - 7053:7053

  peer1.org1.example.com:
    container_name: peer1.org1.example.com
    extends:
      file: peer-base.yaml
      service: peer-base
    environment:
      - CORE_PEER_ID=peer1.org1.example.com
      - CORE_PEER_ADDRESS=peer1.org1.example.com:7051
      - CORE_PEER_CHAINCODELISTENADDRESS=peer1.org1.example.com:7052
      - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:7051
      - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051
      - CORE_PEER_LOCALMSPID=Org1MSP
    volumes:
        - /var/run/:/host/var/run/
        - ../crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp:/etc/hyperledger/fabric/msp
        - ../crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls:/etc/hyperledger/fabric/tls

    ports:
      - 7051:7051
      - 7052:7052
      - 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_CHAINCODELISTENADDRESS=peer0.org2.example.com:7052
      - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.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
    ports:
      - 7051:7051
      - 7052:7052
      - 7053:7053

  peer1.org2.example.com:
    container_name: peer1.org2.example.com
    extends:
      file: peer-base.yaml
      service: peer-base
    environment:
      - CORE_PEER_ID=peer1.org2.example.com
      - CORE_PEER_ADDRESS=peer1.org2.example.com:7051
      - CORE_PEER_CHAINCODELISTENADDRESS=peer1.org2.example.com:7052
      - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org2.example.com:7051
      - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:7051
      - CORE_PEER_LOCALMSPID=Org2MSP
    volumes:
        - /var/run/:/host/var/run/
        - ../crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp:/etc/hyperledger/fabric/msp
        - ../crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls:/etc/hyperledger/fabric/tls
    ports:
      - 7051:7051
      - 7052:7052
      - 7053:7053

base/peer-base.yaml

ubuntu@VM-0-15-ubuntu:/data/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli$ more base/peer-base.yaml 
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#

version: '2'
services:
  peer-base:
    image: hyperledger/fabric-peer
    environment:
      - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
      # the following setting starts chaincode containers on the same
      # bridge network as the peers
      # https://docs.docker.com/compose/networking/
      - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2ecli_default
      #- CORE_LOGGING_LEVEL=ERROR
      - CORE_LOGGING_LEVEL=DEBUG
      - CORE_PEER_TLS_ENABLED=true
      - CORE_PEER_GOSSIP_USELEADERELECTION=true
      - CORE_PEER_GOSSIP_ORGLEADER=false
      - CORE_PEER_PROFILE_ENABLED=true
      - CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt
      - CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key
      - CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/ca.crt
    working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
    command: peer node start

6.整体环境测试脚本执行顺序

172.21.0.5:在e2e_cli目录下
$ docker-compose -f orderer.yaml up -d
172.21.0.13:
$docker-compose -f peer.yaml up -d
172.21.0.15
$docker-compose -f peer.yaml up -d
172.21.0.13:
$docker-compose -f cli.yaml up
查看这个执行的结果

正确的执行结果输出如下:

ubuntu@VM-0-13-ubuntu:/data/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli$ docker-compose -f cli.yaml up
WARNING: The CHANNEL_NAME variable is not set. Defaulting to a blank string.
WARNING: The TIMEOUT variable is not set. Defaulting to a blank string.
WARNING: Found orphan containers (peer0.org1.example.com) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up.
Creating cli ... done
Attaching to cli
cli    | 
cli    |  ____    _____      _      ____    _____           _____   ____    _____ 
cli    | / ___|  |_   _|    / \\    |  _ \\  |_   _|         | ____| |___ \\  | ____|
cli    | \\___ \\    | |     / _ \\   | |_) |   | |    _____  |  _|     __) | |  _|  
cli    |  ___) |   | |    / ___ \\  |  _ <    | |   |_____| | |___   / __/  | |___ 
cli    | |____/    |_|   /_/   \\_\\ |_| \\_\\   |_|           |_____| |_____| |_____|
cli    | 
cli    | Channel name : mychannel
cli    | Creating channel...
cli    | CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
cli    | CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
cli    | CORE_PEER_LOCALMSPID=Org1MSP
cli    | CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
cli    | CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
cli    | CORE_PEER_TLS_ENABLED=true
cli    | CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
cli    | CORE_PEER_ID=cli
cli    | CORE_LOGGING_LEVEL=DEBUG
cli    | CORE_PEER_ADDRESS=peer0.org1.example.com:7051
cli    | 2018-04-15 04:54:11.000 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP
cli    | 2018-04-15 04:54:11.000 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity
cli    | 2018-04-15 04:54:11.003 UTC [channelCmd] InitCmdFactory -> INFO 003 Endorser and orderer connections initialized
cli    | 2018-04-15 04:54:11.004 UTC [msp] GetLocalMSP -> DEBU 004 Returning existing local MSP
cli    | 2018-04-15 04:54:11.004 UTC [msp] GetDefaultSigningIdentity -> DEBU 005 Obtaining default signing identity
cli    | 2018-04-15 04:54:11.004 UTC [msp] GetLocalMSP -> DEBU 006 Returning existing local MSP
cli    | 2018-04-15 04:54:11.004 UTC [msp] GetDefaultSigningIdentity -> DEBU 007 Obtaining default signing identity
cli    | 2018-04-15 04:54:11.004 UTC [msp/identity] Sign -> DEBU 008 Sign: plaintext: 0A88060A074F7267314D535012FC052D...53616D706C65436F6E736F727469756D 
cli    | 2018-04-15 04:54:11.004 UTC [msp/identity] Sign -> DEBU 009 Sign: digest: DE80A9F2D4F19718787BC5870D42C2015B782CC0069816A9E37FB71C4A79C3AB 
cli    | 2018-04-15 04:54:11.004 UTC [msp] GetLocalMSP -> DEBU 00a Returning existing local MSP
cli    | 2018-04-15 04:54:11.004 UTC [msp] GetDefaultSigningIdentity -> DEBU 00b Obtaining default signing identity
cli    | 2018-04-15 04:54:11.004 UTC [msp] GetLocalMSP -> DEBU 00c Returning existing local MSP
cli    | 2018-04-15 04:54:11.004 UTC [msp] GetDefaultSigningIdentity -> DEBU 00d Obtaining default signing identity
cli    | 2018-04-15 04:54:11.004 UTC [msp/identity] Sign -> DEBU 00e Sign: plaintext: 0ABF060A1508021A0608F3B5CBD60522...2DFF942434851C3A2AD6662ECA36A374 
cli    | 2018-04-15 04:54:11.004 UTC [msp/identity] Sign -> DEBU 00f Sign: digest: 4768892C9B67DE6BB523EAB3B9A7151AE43F4B7A2DABDD53E63EE8B17D1BF157 
cli    | 2018-04-15 04:54:11.097 UTC [msp] GetLocalMSP -> DEBU 010 Returning existing local MSP
cli    | 2018-04-15 04:54:11.097 UTC [msp] GetDefaultSigningIdentity -> DEBU 011 Obtaining default signing identity
cli    | 2018-04-15 04:54:11.098 UTC [msp] GetLocalMSP -> DEBU 012 Returning existing local MSP
cli    | 2018-04-15 04:54:11.098 UTC [msp] GetDefaultSigningIdentity -> DEBU 013 Obtaining default signing identity
cli    | 2018-04-15 04:54:11.098 UTC [msp/identity] Sign -> DEBU 014 Sign: plaintext: 0ABF060A1508021A0608F3B5CBD60522...DAD1528F622012080A021A0012021A00 
cli    | 2018-04-15 04:54:11.098 UTC [msp/identity] Sign -> DEBU 015 Sign: digest: 96D37D986D406473CE18CC74F1671F6D90727907B81A8AAEB8C1C7BC5B3D513F 
cli    | 2018-04-15 04:54:11.143 UTC [channelCmd] readBlock -> DEBU 016 Got status:*orderer.DeliverResponse_Status 
cli    | 2018-04-15 04:54:11.143 UTC [msp] GetLocalMSP -> DEBU 017 Returning existing local MSP
cli    | 2018-04-15 04:54:11.143 UTC [msp] GetDefaultSigningIdentity -> DEBU 018 Obtaining default signing identity
cli    | 2018-04-15 04:54:11.193 UTC [channelCmd] InitCmdFactory -> INFO 019 Endorser and orderer connections initialized
cli    | 2018-04-15 04:54:11.393 UTC [msp] GetLocalMSP -> DEBU 01a Returning existing local MSP
cli    | 2018-04-15 04:54:11.393 UTC [msp] GetDefaultSigningIdentity -> DEBU 01b Obtaining default signing identity
cli    | 2018-04-15 04:54:11.393 UTC [msp] GetLocalMSP -> DEBU 01c Returning existing local MSP
cli    | 2018-04-15 04:54:11.393 UTC [msp] GetDefaultSigningIdentity -> DEBU 01d Obtaining default signing identity
cli    | 2018-04-15 04:54:11.393 UTC [msp/identity] Sign -> DEBU 01e Sign: plaintext: 0ABF060A1508021A0608F3B5CBD60522...26C2221E87DB12080A021A0012021A00 
cli    | 2018-04-15 04:54:11.393 UTC [msp/identity] Sign -> DEBU 01f Sign: digest: B3826453EE3BB44344D3A6E29246829F32156979E09DFC020FC5949DEB61F350 
cli    | 2018-04-15 04:54:11.400 UTC [channelCmd] readBlock -> DEBU 020 Received block:0 
cli    | 2018-04-15 04:54:11.400 UTC [main] main -> INFO 021 Exiting.....
cli    | ===================== Channel "mychannel" is created successfully ===================== 
cli    | 
cli    | Having all peers join the channel...
cli    | CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
cli    | CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
cli    | CORE_PEER_LOCALMSPID=Org1MSP
cli    | CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
cli    | CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
cli    | CORE_PEER_TLS_ENABLED=true
cli    | CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
cli    | CORE_PEER_ID=cli
cli    | CORE_LOGGING_LEVEL=DEBUG
cli    | CORE_PEER_ADDRESS=peer0.org1.example.com:7051
cli    | 2018-04-15 04:54:11.438 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP
cli    | 2018-04-15 04:54:11.438 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity
cli    | 2018-04-15 04:54:11.441 UTC [channelCmd] InitCmdFactory -> INFO 003 Endorser and orderer connections initialized
cli    | 2018-04-15 04:54:11.442 UTC [msp/identity] Sign -> DEBU 004 Sign: plaintext: 0A86070A5C08011A0C08F3B5CBD60510...25BB45EE77B11A080A000A000A000A00 
cli    | 2018-04-15 04:54:11.442 UTC [msp/identity] Sign -> DEBU 005 Sign: digest: 9BA866AB9FEAE440806A25E21840528A4FDFA114CF6D2ADA573A7A8FA5152716 
cli    | 2018-04-15 04:54:11.487 UTC [channelCmd] executeJoin -> INFO 006 Peer joined the channel!
cli    | 2018-04-15 04:54:11.487 UTC [main] main -> INFO 007 Exiting.....
cli    | ===================== PEER0 joined on the channel "mychannel" ===================== 
cli    | 
cli    | CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
cli    | CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
cli    | CORE_PEER_LOCALMSPID=Org2MSP
cli    | CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
cli    | CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
cli    | CORE_PEER_TLS_ENABLED=true
cli    | CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
cli    | CORE_PEER_ID=cli
cli    | CORE_LOGGING_LEVEL=DEBUG
cli    | CORE_PEER_ADDRESS=peer0.org2.example.com:7051
cli    | 2018-04-15 04:54:13.534 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP
cli    | 2018-04-15 04:54:13.534 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity
cli    | 2018-04-15 04:54:13.538 UTC [channelCmd] InitCmdFactory -> INFO 003 Endorser and orderer connections initialized
cli    | 2018-04-15 04:54:13.539 UTC [msp/identity] Sign -> DEBU 004 Sign: plaintext: 0A8A070A5C08011A0C08F5B5CBD60510...25BB45EE77B11A080A000A000A000A00 
cli    | 2018-04-15 04:54:13.539 UTC [msp/identity] Sign -> DEBU 005 Sign: digest: ABCDB9F2CEB1E9972F32EFF9BD3277C963458B9390940B4BF1C5A6BD2BAED716 
cli    | 2018-04-15 04:54:13.581 UTC [channelCmd] executeJoin -> INFO 006 Peer joined the channel!
cli    | 2018-04-15 04:54:13.581 UTC [main] main -> INFO 007 Exiting.....
cli    | ===================== PEER2 joined on the channel "mychannel" ===================== 
cli    | 
cli    | Updating anchor peers for org1...
cli    | CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
cli    | CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
cli    | CORE_PEER_LOCALMSPID=Org1MSP
cli    | CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
cli    | CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
cli    | CORE_PEER_TLS_ENABLED=true
cli    | CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
cli    | CORE_PEER_ID=cli
cli    | CORE_LOGGING_LEVEL=DEBUG
cli    | CORE_PEER_ADDRESS=peer0.org1.example.com:7051
cli    | 2018-04-15 04:54:15.618 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP
cli    | 2018-04-15 04:54:15.618 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity
cli    | 2018-04-15 04:54:15.621 UTC [channelCmd] InitCmdFactory -> INFO 003 Endorser and orderer connections initialized
cli    | 2018-04-15 04:54:15.621 UTC [msp] GetLocalMSP -> DEBU 004 Returning existing local MSP
cli    | 2018-04-15 04:54:15.621 UTC [msp] GetDefaultSigningIdentity -> DEBU 005 Obtaining default signing identity
cli    | 2018-04-15 04:54:15.621 UTC [msp] GetLocalMSP -> DEBU 006 Returning existing local MSP
cli    | 2018-04-15 04:54:15.621 UTC [msp] GetDefaultSigningIdentity -> DEBU 007 Obtaining default signing identity
cli    | 2018-04-15 04:54:15.621 UTC [msp/identity] Sign -> DEBU 008 Sign: plaintext: 0A88060A074F7267314D535012FC052D...2A0641646D696E732A0641646D696E73 
cli    | 2018-04-15 04:54:15.621 UTC [msp/identity] Sign -> DEBU 009 Sign: digest: 8883F8A62AFCCCFD6198A8FD30D36AC62A6979D9469924E0F207325DC6B2226F 
cli    | 2018-04-15 04:54:15.621 UTC [msp] GetLocalMSP -> DEBU 00a Returning existing local MSP
cli    | 2018-04-15 04:54:15.621 UTC [msp] GetDefaultSigningIdentity -> DEBU 00b Obtaining default signing identity
cli    | 2018-04-15 04:54:15.622 UTC [msp] GetLocalMSP -> DEBU 00c Returning existing local MSP
cli    | 2018-04-15 04:54:15.622 UTC [msp] GetDefaultSigningIdentity -> DEBU 00d Obtaining default signing identity
cli    | 2018-04-15 04:54:15.622 UTC [msp/identity] Sign -> DEBU 00e Sign: plaintext: 0ABF060A1508021A0608F7B5CBD60522...DAC89DFC512D03F99F71668252C10F50 
cli    | 2018-04-15 04:54:15.622 UTC [msp/identity] Sign -> DEBU 00f Sign: digest: E824E39BF97357A9ECDAA6ACF47DF6F45991DDF23DCC75ECB6A6785B641C164F 
cli    | 2018-04-15 04:54:15.649 UTC [main] main -> INFO 010 Exiting.....
cli    | ===================== Anchor peers for org "Org1MSP" on "mychannel" is updated successfully ===================== 
cli    | 
cli    | Updating anchor peers for org2...
cli    | CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
cli    | CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
cli    | CORE_PEER_LOCALMSPID=Org2MSP
cli    | CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
cli    | CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
cli    | CORE_PEER_TLS_ENABLED=true
cli    | CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
cli    | CORE_PEER_ID=cli
cli    | CORE_LOGGING_LEVEL=DEBUG
cli    | CORE_PEER_ADDRESS=peer0.org2.example.com:7051
cli    | 2018-04-15 04:54:20.693 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP
cli    | 2018-04-15 04:54:20.693 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity
cli    | 2018-04-15 04:54:20.696 UTC [channelCmd] InitCmdFactory -> INFO 003 Endorser and orderer connections initialized
cli    | 2018-04-15 04:54:20.696 UTC [msp] GetLocalMSP -> DEBU 004 Returning existing local MSP
cli    | 2018-04-15 04:54:20.696 UTC [msp] GetDefaultSigningIdentity -> DEBU 005 Obtaining default signing identity
cli    | 2018-04-15 04:54:20.696 UTC [msp] GetLocalMSP -> DEBU 006 Returning existing local MSP
cli    | 2018-04-15 04:54:20.696 UTC [msp] GetDefaultSigningIdentity -> DEBU 007 Obtaining default signing identity
cli    | 2018-04-15 04:54:20.696 UTC [msp/identity] Sign -> DEBU 008 Sign: plaintext: 0A8C060A074F7267324D53501280062D...2A0641646D696E732A0641646D696E73 
cli    | 2018-04-15 04:54:20.696 UTC [msp/identity] Sign -> DEBU 009 Sign: digest: 59624AD92F7F9F9A3265CACBB14831CC5575BC53247FA070BFF7E1A2F226A27D 
cli    | 2018-04-15 04:54:20.697 UTC [msp] GetLocalMSP -> DEBU 00a Returning existing local MSP
cli    | 2018-04-15 04:54:20.697 UTC [msp] GetDefaultSigningIdentity -> DEBU 00b Obtaining default signing identity
cli    | 2018-04-15 04:54:20.697 UTC [msp] GetLocalMSP -> DEBU 00c Returning existing local MSP
cli    | 2018-04-15 04:54:20.697 UTC [msp] GetDefaultSigningIdentity -> DEBU 00d Obtaining default signing identity
cli    | 2018-04-15 04:54:20.697 UTC [msp/identity] Sign -> DEBU 00e Sign: plaintext: 0AC3060A1508021A0608FCB5CBD60522...27069DA9A535BB56FD39AC8B3D89D95E 
cli    | 2018-04-15 04:54:20.697 UTC [msp/identity] Sign -> DEBU 00f Sign: digest: F96E61338D134C04D90D3CE5D7C0CC0DEDEE929538673956A811E8EAB295DF44 
cli    | 2018-04-15 04:54:20.728 UTC [main] main -> INFO 010 Exiting.....
cli    | ===================== Anchor peers for org "Org2MSP" on "mychannel" is updated successfully ===================== 
cli    | 
cli    | Installing chaincode on org1/peer0...
cli    | CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
cli    | CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
cli    | CORE_PEER_LOCALMSPID=Org1MSP
cli    | CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
cli    | CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
cli    | CORE_PEER_TLS_ENABLED=true
cli    | CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
cli    | CORE_PEER_ID=cli
cli    | CORE_LOGGING_LEVEL=DEBUG
cli    | CORE_PEER_ADDRESS=peer0.org1.example.com:7051
cli    | 2018-04-15 04:54:25.773 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP
cli    | 2018-04-15 04:54:25.774 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity
cli    | 2018-04-15 04:54:25.774 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 003 Using default escc
cli    | 2018-04-15 04:54:25.774 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 004 Using default vscc
cli    | 2018-04-15 04:54:25.824 UTC [golang-platform] getCodeFromFS -> DEBU 005 getCodeFromFS github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02
cli    | 2018-04-15 04:54:25.962 UTC [golang-platform] func1 -> DEBU 006 Discarding GOROOT package fmt
cli    | 2018-04-15 04:54:25.962 UTC [golang-platform] func1 -> DEBU 007 Discarding provided package github.com/hyperledger/fabric/core/chaincode/shim
cli    | 2018-04-15 04:54:25.962 UTC [golang-platform] func1 -> DEBU 008 Discarding provided package github.com/hyperledger/fabric/protos/peer
cli    | 2018-04-15 04:54:25.962 UTC [golang-platform] func1 -> DEBU 009 Discarding GOROOT package strconv
cli    | 2018-04-15 04:54:25.962 UTC [golang-platform] GetDeploymentPayload -> DEBU 00a done
cli    | 2018-04-15 04:54:25.963 UTC [msp/identity] Sign -> DEBU 00b Sign: plaintext: 0A86070A5C08031A0C0881B6CBD60510...5F74FD270000FFFFCEF44F9B002C0000 
cli    | 2018-04-15 04:54:25.963 UTC [msp/identity] Sign -> DEBU 00c Sign: digest: 5B0E9D0ACAA73D265BEEC6557D0FC3D1FAE649C46E35A837248EA465B18F0D2C 
cli    | 2018-04-15 04:54:25.969 UTC [chaincodeCmd] install -> DEBU 00d Installed remotely response:<status:200 payload:"OK" > 
cli    | 2018-04-15 04:54:25.969 UTC [main] main -> INFO 00e Exiting.....
cli    | ===================== Chaincode is installed on remote peer PEER0 ===================== 
cli    | 
cli    | Install chaincode on org2/peer2...
cli    | CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
cli    | CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
cli    | CORE_PEER_LOCALMSPID=Org2MSP
cli    | CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
cli    | CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
cli    | CORE_PEER_TLS_ENABLED=true
cli    | CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
cli    | CORE_PEER_ID=cli
cli    | CORE_LOGGING_LEVEL=DEBUG
cli    | CORE_PEER_ADDRESS=peer0.org2.example.com:7051
cli    | 2018-04-15 04:54:26.015 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP
cli    | 2018-04-15 04:54:26.015 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity
cli    | 2018-04-15 04:54:26.015 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 003 Using default escc
cli    | 2018-04-15 04:54:26.015 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 004 Using default vscc
cli    | 2018-04-15 04:54:26.062 UTC [golang-platform] getCodeFromFS -> DEBU 005 getCodeFromFS github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02
cli    | 2018-04-15 04:54:26.193 UTC [golang-platform] func1 -> DEBU 006 Discarding GOROOT package fmt
cli    | 2018-04-15 04:54:26.193 UTC [golang-platform] func1 -> DEBU 007 Discarding provided package github.com/hyperledger/fabric/core/chaincode/shim
cli    | 2018-04-15 04:54:26.193 UTC [golang-platform] func1 -> DEBU 008 Discarding provided package github.com/hyperledger/fabric/protos/peer
cli    | 2018-04-15 04:54:26.194 UTC [golang-platform] func1 -> DEBU 009 Discarding GOROOT package strconv
cli    | 2018-04-15 04:54:26.194 UTC [golang-platform] GetDeploymentPayload -> DEBU 00a done
cli    | 2018-04-15 04:54:26.196 UTC [msp/identity] Sign -> DEBU 00b Sign: plaintext: 0A89070A5B08031A0B0882B6CBD60510...5F74FD270000FFFFCEF44F9B002C0000 
cli    | 2018-04-15 04:54:26.196 UTC [msp/identity] Sign -> DEBU 00c Sign: digest: 7AC05CD4271A4B6E304EBAF6B8465182784BAF58AA93C7F5C969C7FE85BDF09E 
cli    | 2018-04-15 04:54:26.210 UTC [chaincodeCmd] install -> DEBU 00d Installed remotely response:<status:200 payload:"OK" > 
cli    | 2018-04-15 04:54:26.211 UTC [main] main -> INFO 00e Exiting.....
cli    | ===================== Chaincode is installed on remote peer PEER2 ===================== 
cli    | 
cli    | Instantiating chaincode on org1/peer0...
cli    | CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
cli    | CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
cli    | CORE_PEER_LOCALMSPID=Org1MSP
cli    | CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
cli    | CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
cli    | CORE_PEER_TLS_ENABLED=true
cli    | CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
cli    | CORE_PEER_ID=cli
cli    | CORE_LOGGING_LEVEL=DEBUG
cli    | CORE_PEER_ADDRESS=peer0.org1.example.com:7051
cli    | 2018-04-15 04:54:26.252 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP
cli    | 2018-04-15 04:54:26.252 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity
cli    | 2018-04-15 04:54:26.255 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 003 Using default escc
cli    | 2018-04-15 04:54:26.255 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 004 Using default vscc
cli    | 2018-04-15 04:54:26.256 UTC [msp/identity] Sign -> DEBU 005 Sign: plaintext: 0A90070A6608031A0B0882B6CBD60510...324D53500A04657363630A0476736363 
cli    | 2018-04-15 04:54:26.256 UTC [msp/identity] Sign -> DEBU 006 Sign: digest: B469045FFCB3B68A614DD845C483B33F67F0879FBF6D0D46BE39AEE8581919A8 
cli    | 2018-04-15 04:54:26.693 UTC [msp/identity] Sign -> DEBU 007 Sign: plaintext: 0A90070A6608031A0B0882B6CBD60510...D94CDA0BBC568F20625EA86227A11815 
cli    | 2018-04-15 04:54:26.693 UTC [msp/identity] Sign -> DEBU 008 Sign: digest: 9F4D8490CF9B530DBB6547B567D63805E0698B9175704C4079CED0B4335C916F 
cli    | 2018-04-15 04:54:26.695 UTC [main] main -> INFO 009 Exiting.....
cli    | ===================== Chaincode Instantiation on PEER0 on channel 'mychannel' is successful ===================== 
cli    | 
cli    | Querying chaincode on org1/peer0...
cli    | ===================== Querying on PEER0 on channel 'mychannel'... ===================== 
cli    | CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
cli    | CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
cli    | CORE_PEER_LOCALMSPID=Org1MSP
cli    | CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
cli    | CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
cli    | CORE_PEER_TLS_ENABLED=true
cli    | CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
cli    | CORE_PEER_ID=cli
cli    | CORE_LOGGING_LEVEL=DEBUG
cli    | CORE_PEER_ADDRESS=peer0.org1.example.com:7051
cli    | Attempting to Query PEER0 ...3 secs
cli    | 
cli    | 2018-04-15 04:54:29.738 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP
cli    | 2018-04-15 04:54:29.738 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity
cli    | 2018-04-15 04:54:29.738 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 003 Using default escc
cli    | 2018-04-15 04:54:29.738 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 004 Using default vscc
cli    | 2018-04-15 04:54:29.738 UTC [msp/identity] Sign -> DEBU 005 Sign: plaintext: 0A91070A6708031A0C0885B6CBD60510...6D7963631A0A0A0571756572790A0161 
cli    | 2018-04-15 04:54:29.738 UTC [msp/identity] Sign -> DEBU 006 Sign: digest: AD98FA6F81E2C7A303D2229E78401CCF6570AF0880488718B293B94375E23D58 
cli    | Query Result: 100
cli    | 2018-04-15 04:54:29.748 UTC [main] main -> INFO 007 Exiting.....
cli    | ===================== Query on PEER0 on channel 'mychannel' is successful ===================== 
cli    | Sending invoke transaction on org2/peer0...
cli    | CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
cli    | CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
cli    | CORE_PEER_LOCALMSPID=Org2MSP
cli    | CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
cli    | CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
cli    | CORE_PEER_TLS_ENABLED=true
cli    | CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
cli    | CORE_PEER_ID=cli
cli    | CORE_LOGGING_LEVEL=DEBUG
cli    | CORE_PEER_ADDRESS=peer0.org2.example.com:7051
cli    | 2018-04-15 04:54:29.796 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP
cli    | 2018-04-15 04:54:29.796 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity
cli    | 2018-04-15 04:54:29.799 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 003 Using default escc
cli    | 2018-04-15 04:54:29.799 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 004 Using default vscc
cli    | 2018-04-15 04:54:29.799 UTC [msp/identity] Sign -> DEBU 005 Sign: plaintext: 0A95070A6708031A0C0885B6CBD60510...696E766F6B650A01610A01620A023130 
cli    | 2018-04-15 04:54:29.799 UTC [msp/identity] Sign -> DEBU 006 Sign: digest: 0F5290BBE1520FF900525296EAE67F7548780607BE0C94700BDE5D3A58B76ADA 
cli    | 2018-04-15 04:54:43.202 UTC [msp/identity] Sign -> DEBU 007 Sign: plaintext: 0A95070A6708031A0C0885B6CBD60510...B67A5E10A7E8D9D20E854DE0D41E5EF0 
cli    | 2018-04-15 04:54:43.202 UTC [msp/identity] Sign -> DEBU 008 Sign: digest: 11ACDC8EE6668208EF9FA6DD9AE386D6F51F8E26286C798A56A841CE60695730 
cli    | 2018-04-15 04:54:43.206 UTC [chaincodeCmd] chaincodeInvokeOrQuery -> DEBU 009 ESCC invoke result: version:1 response:<status:200 message:"OK" > payload:"\\n \\235K\\027\\377\\035R\\201\\321\\246A\\026\\nB\\2619.\\037\\245dF!\\256\\251\\177\\022\\007\\311P\\024\\231\\277\\241\\022Y\\nE\\022\\024\\n\\004lscc\\022\\014\\n\\n\\n\\004mycc\\022\\002\\010\\003\\022-\\n\\004mycc\\022%\\n\\007\\n\\001a\\022\\002\\010\\003\\n\\007\\n\\001b\\022\\002\\010\\003\\032\\007\\n\\001a\\032\\00290\\032\\010\\n\\001b\\032\\003210\\032\\003\\010\\310\\001\\"\\013\\022\\004mycc\\032\\0031.0" endorsement:<endorser:"\\n\\007Org2MSP\\022\\374\\005-----BEGIN -----\\nMIICGDCCAb+gAwIBAgIQVIIUxY5px23H2+U5gqpCcDAKBggqhkjOPQQDAjBzMQsw\\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\\nYW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu\\nb3JnMi5leGFtcGxlLmNvbTAeFw0xODA0MTEwNzIyNDdaFw0yODA0MDgwNzIyNDda\\nMFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T\\nYW4gRnJhbmNpc2NvMR8wHQYDVQQDExZwZWVyMC5vcmcyLmV4YW1wbGUuY29tMFkw\\nEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEj6gKic5DjQtGFw2vFtsuuduqBAC3BZVJ\\n2bjaXVqChKcdnADz4uGRWpS8mc8jrelu3m+rAM/GbUFYCdI6jgs9baNNMEswDgYD\\nVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAg0GJTe6aB/tHw\\npa2fKR8KM0bGpUduZBscxVlSb/pnW2IwCgYIKoZIzj0EAwIDRwAwRAIgYSx3kmsp\\nNHT3+niE/gc8cBcgDlGtHdhzUEeDto6CzhsCIGXm+Jjqrr8PcHwkmMgRlTyW09q9\\ndMV9dcJZr1mJEiUk\\n-----END -----\\n" signature:"0D\\002 >H;\\204\\006\\304f\\304^l3.c\\333n\\370:B./\\276\\213\\276\\306\\211\\332\\3137\\014?\\267(\\002 K\\333G\\212\\377\\235\\215\\334W\\n\\330\\206F\\252K\\345\\266z^\\020\\247\\350\\331\\322\\016\\205M\\340\\324\\036^\\360" > 
cli    | 2018-04-15 04:54:43.206 UTC [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 00a Chaincode invoke successful. result: status:200 
cli    | 2018-04-15 04:54:43.206 UTC [main] main -> INFO 00b Exiting.....
cli    | ===================== Invoke transaction on PEER2 on channel 'mychannel' is successful ===================== 
cli    | 
cli    | Querying chaincode on org2/peer0...
cli    | ===================== Querying on PEER2 on channel 'mychannel'... ===================== 
cli    | CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
cli    | CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
cli    | CORE_PEER_LOCALMSPID=Org2MSP
cli    | CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
cli    | CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
cli    | CORE_PEER_TLS_ENABLED=tru

以上是关于Hyperledger Fabric 1.0 公有云安装7--集群部署记录的主要内容,如果未能解决你的问题,请参考以下文章

Hyperledger Fabric 1.0 公有云安装6--集群部署之坑

Hyperledger Fabric 1.0 公有云安装3--Go部分

Hyperledger Fabric 1.0 公有云安装2--docker-compose部分

Hyperledger Fabric 1.0 公有云安装7--集群部署记录

在Ubuntu中部署并测试HyperLedger Fabric

Hyperledger Fabric 1.0 从零开始——吐槽