3.docker-compose文件的编写
- 创建channel-artifacts文件夹,将通道文件,创世块文件,锚文件移动到里面去,之后通过配置挂载到容器里面
~/testfabric$ mkdir channel-artifacts
~/testfabric$ mv channel.tx genesis.block goAnchor.tx cppAnchor.tx channel-artifacts/
-
mkdir chaincode
创建chaincode文件夹用于存放链码文件(会被挂载到客户端容器里) -
拷贝fabric-samples/first-network/docker-compose-cli.yaml中的文件到本目录中
cp ~/hyperledger-fabric/fabric-samples/first-network/docker-compose-cli.yaml .
- 拷贝fabric-samples/first-network/base中文件到本目录中
cp -r ~/hyperledger-fabric/fabric-samples/first-network/base/docker-compose-base.yaml .
cp -r ~/hyperledger-fabric/fabric-samples/first-network/base/peer-base.yaml .
tree -L 2
查看文件目录结构如下:
1.客户端容器配置
-
修改docker-compose-cli.yaml文件
vi docker-compose-cli.yaml
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#
version: '2'
volumes:
orderer.github.com:
peer0.orggo.github.com:
peer1.orggo.github.com:
peer0.orgcpp.github.com:
peer1.orgcpp.github.com:
networks:
byfn:
services:
orderer.github.com:
extends:
file: docker-compose-base.yaml
service: orderer.github.com
container_name: orderer.github.com
networks:
- byfn
peer0.orggo.github.com:
container_name: peer0.orggo.github.com
extends:
file: docker-compose-base.yaml
service: peer0.orggo.github.com
networks:
- byfn
peer1.orggo.github.com:
container_name: peer1.orggo.github.com
extends:
file: docker-compose-base.yaml
service: peer1.orggo.github.com
networks:
- byfn
peer0.orgcpp.github.com:
container_name: peer0.orgcpp.github.com
extends:
file: docker-compose-base.yaml
service: peer0.orgcpp.github.com
networks:
- byfn
peer1.orgcpp.github.com:
container_name: peer1.orgcpp.github.com
extends:
file: docker-compose-base.yaml
service: peer1.orgcpp.github.com
networks:
- byfn
cli:
container_name: cli
image: hyperledger/fabric-tools
tty: true
stdin_open: true
environment:
- GOPATH=/opt/gopath
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock #套接字文件
- CORE_LOGGING_LEVEL=INFO #日志级别,critical,error,warning,notice,info,debug从高到低
- CORE_PEER_ID=cli #当前节点的ID即名字
- CORE_PEER_ADDRESS