背景
每次在新的服务器上安装Hyperledger Fabric网络时,通过fabric官方提供的脚本安装时,需要从网络上down下近10G的fabric相关镜像,这个过程是漫长及痛苦的,有时因网络问题,还会前功尽弃。
因此,通过docker在已经安装好fabric的机器上导出相关镜像,并复制镜像到新服务器上,并使用docker进行直接导入,则省时省力很多。
使用docker转存镜像
找一台已经安装好fabric的机器,使用docker images列出所有镜像,如下所示
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest 2cb0d9787c4d weeks ago .85kB
hyperledger/fabric-ca latest 72617b4fa9b4 months ago 299MB
hyperledger/fabric-ca x86_64-1.1. 72617b4fa9b4 months ago 299MB
hyperledger/fabric-tools latest b7bfddf508bc months ago .46GB
hyperledger/fabric-tools x86_64-1.1. b7bfddf508bc months ago .46GB
hyperledger/fabric-orderer latest ce0c810df36a months ago 180MB
hyperledger/fabric-orderer x86_64-1.1. ce0c810df36a months ago 180MB
hyperledger/fabric-peer latest b023f9be0771 months ago 187MB
hyperledger/fabric-peer x86_64-1.1. b023f9be0771 months ago 187MB
hyperledger/fabric-javaenv latest 82098abb1a17 months ago .52GB
hyperledger/fabric-javaenv x86_64-1.1. 82098abb1a17 months ago .52GB
hyperledger/fabric-ccenv latest c8b4909d8d46 months ago .39GB
hyperledger/fabric-ccenv x86_64-1.1. c8b4909d8d46 months ago .39GB
hyperledger/fabric-zookeeper latest 92cbb952b6f8 months ago .39GB
hyperledger/fabric-zookeeper x86_64-0.4. 92cbb952b6f8 months ago .39GB
hyperledger/fabric-kafka latest 554c591b86a8 months ago .4GB
hyperledger/fabric-kafka x86_64-0.4. 554c591b86a8 months ago .4GB
hyperledger/fabric-couchdb latest 7e73c828fc5b months ago .56GB
hyperledger/fabric-couchdb x86_64-0.4. 7e73c828fc5b months ago .56GB
hyperledger/fabric-baseos x86_64-0.4. 220e5cf3fb7f months ago 151MB
假如要导出hyperledger/fabric-ca,TAG为x86_64-1.1.0的镜像至/home/ubuntu/docker_images文件夹下,使用如下命令:
sudo docker save -o /home/ubuntu/images/fabric-ca_x86_64-1.1..tar hyperledger/fabric-ca:x86_64-1.1.
可以使用该方法导出所有需要的镜像
使用docker加载镜像
将导出的镜像移到新服务器上的某个目录中,假设还是/home/ubuntu/docker_images,现在我们可以使用如下命令导入上一步导出的镜像fabric-ca_x86_64-1.1.0.tar
sudo docker load -i /home/ubuntu/images/fabric-ca_x86_64-1.1..tar
可以使用该命令导入所有需要的镜像,可以使用docker images验证镜像是否导入成功
使用已有镜像安装Fabric v1.1.0
* 在$GOPATH/github.com/hyperledger目录下down下fabric和fabric-samples的v1.1.0的源码。
* 将bin文件夹和config文件夹置于$GOPATH/github.com/hyperledger/fabric-samples下。
* 使用docker加载之前已经导出的镜像。
运行已有项目
* 进到fabric-samples/first-network
cd fabric-samples/first-network/
* 生成配置文件
sudo ./byfn.sh -m generate
选择同意,会默认生成mychannel
* 起动项目
sudo ./byfn.sh -m up
* 成功后关闭
sudo ./byfn.sh -m down