1、获取fabric-samples项目
#git clone -b release-1.3 https://github.com/hyperledger/fabric-samples.git
#cd fabric-samples/first-network
2、新建下载脚本并编辑、赋权
#touch download-images.sh
#chmod +x download-images.sh
#vim download-images.sh
#!/bin/bash -eu dockerFabricPull() { local FABRIC_TAG=$1 for IMAGES in peer orderer couchdb ccenv javaenv kafka tools zookeeper; do echo "==> FABRIC IMAGE: $IMAGES" echo docker pull hyperledger/fabric-$IMAGES:$FABRIC_TAG docker tag hyperledger/fabric-$IMAGES:$FABRIC_TAG hyperledger/fabric-$IMAGES done } dockerCaPull() { local CA_TAG=$1 echo "==> FABRIC CA IMAGE" echo docker pull hyperledger/fabric-ca:$CA_TAG docker tag hyperledger/fabric-ca:$CA_TAG hyperledger/fabric-ca } usage() { echo "Description " echo echo "Pulls docker images from hyperledger dockerhub repository" echo "tag as hyperledger/fabric-<image>:latest" echo echo "USAGE: " echo echo "./download-dockerimages.sh [-c <fabric-ca tag>] [-f <fabric tag>]" echo " -c fabric-ca docker image tag" echo " -f fabric docker image tag" echo echo echo "EXAMPLE:" echo "./download-dockerimages.sh -c 1.1.1 -f 1.1.0" echo echo "By default, pulls the 'latest' fabric-ca and fabric docker images" echo "from hyperledger dockerhub" exit 0 } while getopts "\?hc:f:" opt; do case "$opt" in c) CA_TAG="$OPTARG" echo "Pull CA IMAGES" ;; f) FABRIC_TAG="$OPTARG" echo "Pull FABRIC TAG" ;; \?|h) usage echo "Print Usage" ;; esac done : ${CA_TAG:="latest"} : ${FABRIC_TAG:="latest"} echo "===> Pulling fabric Images" dockerFabricPull ${FABRIC_TAG} echo "===> Pulling fabric ca Image" dockerCaPull ${CA_TAG} echo echo "===> List out hyperledger docker images" docker images | grep hyperledger*
3、执行脚本下载所需的docker镜像
#./download-images.sh
4、获取fabric工具
#cd ..
#docker run -it -d --name tools -v $PWD:$PWD -w $PWD hyperledger/fabric-tools
#docker exec tools cp -r /usr/local/bin/ ./
#docker rm -f tools
5、执行脚本,启动fabric网络
cd first-network
./byfn.sh up -s couchdb