Ubuntu下Hyperledger Fabric v0.6安装部署

1.环境准备

1.1安装Docker

Docker安装命令:

curl –fsSL https://get.docker.com/ | sh

安装成功后,修改Docker服务配置

sudo vi /etc/default/docker

添加如下内容:

DOCKER_OPTS=”$DOCKERS_OPTS –H tcp:// 0.0.0.0:2375 –H unix:///var/run/docker.sock --api-cors-header='*'"

修改后,会提示你重启Docker服务,命令如下:

sudo systemctl restart docker.service

1.2 安装Docker-compose

Docker-compose是支持通过模板脚本批量创建Docker容器的一个组件。在安装Docker-Compose之前,需要安装Python-pip,运行脚本:

sudo apt-get install python-pip

安装 docker-compose(推荐为 1.7.0 及以上版本)。

sudo pip install docker-compose>=1.7.0

2.Fabric 部署

2.1下载Fabric镜像

Fabric的Docker镜像在https://hub.docker.com/r/hyperledger/ ,从Docker拉取镜像时由于网络问题可能会很慢,也可能会出错。幸好国内有很好的镜像,可以配置Docker镜像加速器,我使用的是DaoCloud,注册一个账号,在控制板有“加速器”,复制配置Docker加速器脚本到终端运行。接下来就可以从Docker Hub上拉取镜像了。

我们要做实验主要用到peer,baseimage,membersrvc,先现在Peer和membersrvc,这两个镜像提供了latest版本,所以直接pull下来即可。

docker pull hyperledger/fabric-peer
docker pull hyperledger/fabric-membersrvc

但是baseimage是没有latest版本,所以我们可以下载一个新一点的版本,然后rename成latest。

docker pull hyperledger/fabric-baseimage:x86_64-0.3.0
docker tag hyperledger/fabric-baseimage:x86_64-0.3.0 hyperledger/fabric-baseimage:latest

现在运行docker images命令,可以看到准备好的镜像。

扫描二维码关注公众号,回复: 1963078 查看本文章

2.2使用Git下载Docker-compose模板

如果没有安装Git,那么需要先安装Git,安装Git很简单:

sudo apt-get install git

感谢yeasy提供的很好的HyperLedger的模板,我们先克隆到本地:

git clone https://github.com/yeasy/docker-compose-files

2.3 以PBFT模式启动Fabric

先进入Git下载下来的Docker-compose目录:

cd docker-compose-files/hyperledger/0.6/pbft/

这里提供了多种模式的启动方案,一种是启动4个节点的Peer,没有权限认证:4-peers.yml 另一种是在4节点Peer的基础上,再加上MembershipService节点,也就是需要权限认证的:4-peers-with-membersrvc.yml 另外还有再进一步,提供了web的Explorer的:4-peers-with-membersrvc-explorer.yml

这里我们就简单点,直接忽略掉MembershipService和Explorer,只启用4个节点的PBFT:

docker-compose -f 4-peers.yml up

系统会打印出启动的日志:

Creating network "pbft_default" with the default driver

Creating pbft_vp0_1

Creating pbft_vp3_1

Creating pbft_vp2_1

Creating pbft_vp1_1

……

至此,我们的环境搭建完毕。

参考资料

1. https://yeasy.gitbooks.io/blockchain_guide/content/hyperledger/v0.6/install.html

猜你喜欢

转载自www.linuxidc.com/Linux/2017-03/141952.htm