crypto-config.yaml
- peer域名为 “peer+数字+Domain”
docker-compose-cli.yaml
version: '2'
volumes: #声明挂载的卷
orderer.example.com:
peer0.org1.example.com:
peer1.org1.example.com:
peer0.org2.example.com:
peer1.org2.example.com:
networks: #声明一个名称为byfn的网络
byfn:
services:
orderer.example.com: #定义一个名称为orderer.example.com的服务
extends: #扩展,代表需要加载的文件或服务 即使用了其中的配置信息
file: base/docker-compose-base.yaml
service: orderer.example.com
container_name: orderer.example.com #当前容器名称
networks: #指定当前容器所加入的网络,如果需要加入多个网络,可以定义多个
- byfn
#以下同上
peer0.org1.example.com:
container_name: peer0.org1.example.com
extends:
file: base/docker-compose-base.yaml
service: peer0.org1.example.com
networks:
- byfn
peer1.org1.example.com:
container_name: peer1.org1.example.com
extends:
file: base/docker-compose-base.yaml
service: peer1.org1.example.com
networks:
- byfn
peer0.org2.example.com:
container_name: peer0.org2.example.com
extends:
file: base/docker-compose-base.yaml
service: peer0.org2.example.com
networks:
- byfn
peer1.org2.example.com:
container_name: peer1.org2.example.com
extends:
file: base/docker-compose-base.yaml
service: peer1.org2.example.com
networks:
- byfn
cli: #定义一个客户端容器,方便与各节点进行交互
container_name: cli #客户端容器名称
image: hyperledger/fabric-tools:$IMAGE_TAG #该服务所依赖的镜像
tty: true #使用伪终端
stdin_open: true #标准输入
environment: #环境变量
- GOPATH=/opt/gopath #指定go的路径
- CORE_VM_ENDPOINT=unix:/
#- FABRIC_LOGGING_SPEC=DEBUG
- FABRIC_LOGGING_SPEC=INFO #日志级别
- CORE_PEER_ID=cli #当前节点的Id
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051 #以下与peer-base.yaml相同,表示当前客户端容器默认与peer0.org1.example.com进行交互
- 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 #TLS-peer0.org1.example.com的证书路径
- 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 #TLS-peer0.org1.example.com的密钥路径
- 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 #TLS-peer0.org1.example.com的根证书路径
- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp @#TLS-组织1中Admin的MSP路径
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer #工作目录,即进入容器所在的默认位置
command: /bin/bash #启动容器后所运行的第一条命令:使用bash
volumes: #挂载卷
- /var/run/:/host/var/run/
- ./../chaincode/:/opt/gopath/src/github.com/chaincode
- ./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
depends_on: #依赖,需要首先按顺序启动以下容器,但是不会等待以下容器完全启动才启动当前容器
- orderer.example.com
- peer0.org1.example.com
- peer1.org1.example.com
- peer0.org2.example.com
- peer1.org2.example.com
networks: #指定当前容器所加入的网络
- byfn