基于ubuntu16.04快速构建Hyperledger Fabric网络 (2)

通过搜索指纹的最后8个字符,确认您现在拥有指纹识别码9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88

$ sudo apt-key fingerprint 0EBFCD88 pub 4096R/0EBFCD88 2017-02-22 Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 uid Docker Release (CE deb) <docker@docker.com> sub 4096R/F273FCD8 2017-02-22

使用以下命令设置稳定版本的远程库

$ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"

再次更新apt包索引

$ sudo apt-get update

使用apt安装docker-ce

$ sudo apt-get install docker-ce

查看docker版本,测试环境配置是否成功

$ docker version Client: Version: 18.03.1-ce API version: 1.37 Go version: go1.9.5 Git commit: 9ee9f40 Built: Thu Apr 26 07:17:20 2018 OS/Arch: linux/amd64 Experimental: false Orchestrator: swarm Server: Engine: Version: 18.03.1-ce API version: 1.37 (minimum version 1.12) Go version: go1.9.5 Git commit: 9ee9f40 Built: Thu Apr 26 07:15:30 2018 OS/Arch: linux/amd64 Experimental: false

安装完成之后,需要将当前用户添加到docker用户组,然后为该用户添加sudo权限

若没有创建docker用户组,可以使用如下命令创建一个GID为999,组名为docker的用户组

$ sudo groupadd –g 999 docker

将当前用户(ubuntu)添加到docker用户组并分配sudo权限

$ sudo usermod -aG docker ubuntu

注销后重新登录,然后添加阿里云的Docker Hub镜像(注意,不同版本的添加方法不同,见阿里云容器 Hub)

$ sudo mkdir -p /etc/docker $ sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://obou6wyb.mirror.aliyuncs.com"] } EOF $ sudo systemctl daemon-reload $ sudo systemctl restart docker

如果觉得阿里云镜像不好用,可以选择DaoClound的镜像,配置方式见DaoCloud官方文档

安装Docker-Compose

Docker-Compose是支持通过模板脚本批量创建的一个组件。在安装 Docker-Compose之前,需要安装python-pip

安装python-pip

$ sudo apt-get python-pip

下载 Docker-Compose,这里使用的是国内的DaoClound加速器进行下载

$ curl -L https://get.daocloud.io/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > ~/docker-compose

将Docker-Compose文件夹移动到/usr/local/bin目录下

$ sudo mv ~/docker-compose /usr/local/bin/docker-compose

为Docker-Compose附上可执行权限

$ chmod +x /usr/local/bin/docker-compose 下载Fabric源码

先在GOPATH下创建对应的目录

$ mkdir -p ~/go/src/github.com/hyperledger

切换到对应目录,使用Git命令将fabric的源码从github上克隆下来

$ cd ~/go/src/github.com/hyperledger $ git clone https://github.com/hyperledger/fabric.git

由于Fabric一直在更新,而我们并不需要使用最新的源码,所有将版本切换到v1.0.0

$ cd ~/go/src/github.com/hyperledger/fabric $ git checkout v1.0.0 下载Fabric Docker镜像

由于刚才设置了Docker Hub镜像的地址,并且官方文件中也提供了批量下载的脚本,所有我们只需运行下面命令即可

$ cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/ $ source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0

由于刚才设置的是国内的镜像站,在本地网速还不错的情况下下载数度还是很快的。当下载完成后,使用如下命令检查镜像列表

$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE dev-peer0.org1.example.com-marbles-v4 latest 089d43e100c9 5 hours ago 173MB dev-peer0.org1.example.com-fabcar-1.0 latest 6047921ee993 7 hours ago 173MB hyperledger/fabric-tools latest 0403fd1c72c7 10 months ago 1.32GB hyperledger/fabric-tools x86_64-1.0.0 0403fd1c72c7 10 months ago 1.32GB hyperledger/fabric-couchdb latest 2fbdbf3ab945 10 months ago 1.48GB hyperledger/fabric-couchdb x86_64-1.0.0 2fbdbf3ab945 10 months ago 1.48GB hyperledger/fabric-kafka latest dbd3f94de4b5 10 months ago 1.3GB hyperledger/fabric-kafka x86_64-1.0.0 dbd3f94de4b5 10 months ago 1.3GB hyperledger/fabric-zookeeper latest e545dbf1c6af 10 months ago 1.31GB hyperledger/fabric-zookeeper x86_64-1.0.0 e545dbf1c6af 10 months ago 1.31GB hyperledger/fabric-orderer latest e317ca5638ba 10 months ago 179MB hyperledger/fabric-orderer x86_64-1.0.0 e317ca5638ba 10 months ago 179MB hyperledger/fabric-peer latest 6830dcd7b9b5 10 months ago 182MB hyperledger/fabric-peer x86_64-1.0.0 6830dcd7b9b5 10 months ago 182MB hyperledger/fabric-javaenv latest 8948126f0935 10 months ago 1.42GB hyperledger/fabric-javaenv x86_64-1.0.0 8948126f0935 10 months ago 1.42GB hyperledger/fabric-ccenv latest 7182c260a5ca 10 months ago 1.29GB hyperledger/fabric-ccenv x86_64-1.0.0 7182c260a5ca 10 months ago 1.29GB hyperledger/fabric-ca latest a15c59ecda5b 10 months ago 238MB hyperledger/fabric-ca x86_64-1.0.0 a15c59ecda5b 10 months ago 238MB hyperledger/fabric-baseos x86_64-0.3.1 4b0cab202084 12 months ago 157MB

出现以上结果说明镜像已经下载成功

启动Fabric网络并运行e2e_cli项目

进入e2e_cli目录,并执行启动命令

$ cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/ $ ./network_setup.sh up

这个过程做了如下操作

1.编译生成Fabric公私钥,证书的程序,程序在目录:fabric/release/linux-amd64/bin下

2.基于configtx.yaml生成创世区块和通道相关信息,并保存到channel-artifacts文件夹中

3.基于crypto-config.yaml生成公私钥和证书信息,并保存在crypto-config文件夹中

4.基于docker-compose-cli.yaml启动1 Orderer + 4 Peer + 1 CLI的Fabric容器

5.在CLI启动的时候,会运行srcipt/script.sh文件,这个脚本文件包含了创建Channel,加入Channel,安装Example02,运行Example02等功能

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpxxgj.html