1:环境构建

在本文中用到的宿主机环境是Centos ,版本为Centos.x86_647.2,通过Docker 容器来运行Fabric的节点,版本为v1.0。因此,启动Fabric网络中的节点需要先安装Docker、Docker-compose和Go语言环境,然后在网上拉取相关的Docker镜像,再通过配置compose文件来启动各个节点。

1.1:Docker安装

进入docker官网

GetDocker -》Centos -》Get CE(社区版)-》Get Docker CE on CentOS -》Install Docker CE on CentOS。

按照官网给出的步骤安装Docker CE版

如果在服务器上有旧版的docker,需要先执行卸载操作,如下:.

$ sudo yum remove docker \
docker-common \
docker-selinux \
docker-engine

随后开始安装Docker CE

 $ sudo yum install -y yum-utils device-mapper-persistent-data lvm2

 $ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo $ sudo yum-config-manager --enable docker-ce-edge $ sudo yum-config-manager --enable docker-ce-test $ sudo yum-config-manager --disable docker-ce-edge $ sudo yum makecache fast $ sudo yum install docker-ce

执行查询docker版本号,看是否安装成功

docker --version

正常情况下会出现如下视图

docker启动:

service docker start

docker开机自启动:

chkconfig docker on

1.2Docker-Compose安装

Docker-Compose安装可参照官网步骤进行,需要服务器支持curl功能,如果服务器不支持curl,需要执行如下操作安装curl依赖:

yum install curl

根据官网所指向github项目,目前docker-compose最新版为1.15.0

执行如下操作下载docker-compose

curl -L https://github.com/docker/compose/releases/download/1.15.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-compose

该下载目录为/usr/local/bin/docker-compose,且权限已经给出,再执行docker-compose --version检查版本号,或许会有如下示:

如果出现上述提示,执行以下操作

cp /usr/local/bin/docker-compose /usr/bin

将docker-compose拷贝至/usr/bin目录下,再次执行

docker-compose --version

正常情况下会打印docker-compose的版本信息,如下视图

docker常用命令如下:

杀死所有正在运行的容器

docker kill $(docker ps -a -q)

删除所有已经停止的容器

docker rm $(docker ps -a -q)

删除所有镜像

docker rmi $(docker images -q)

强制删除所有镜像

docker rmi -f $(docker images -q)

1.3Go语言安装

1、参照Go官网,找到linux版本下载路径,执行以下操作下载最新版Go语言包

curl -O https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz

或直接通过https://golang.org/doc/install?download=go1.8.3.linux-amd64.tar.gz链接下载最新版。切记,该URL中版本号甚至链接本身以官网为主!

2、解压go1.8.3.linux-amd64.tar.gz至/usr/local目录下,执行如下操作:

tar -C /usr/local -xzf go1.8.3.linux-amd64.tar.gz

3、配置go环境变量

修改/etc/profile文件使其永久性生效,并对所有系统用户生效,在文件末尾加上如下两行代码

 export PATH=$PATH:/usr/local/go/bin
export GOPATH=/opt/gopath

上述修改/etc/profile文件具体实现如下操作:

 cd /etc
vim profile

执行修改后,继续执行:

source profile

使其修改生效。随后可通过下述命令:

echo $PATH

查看是否添加成功。

最后可通过

go version

查看当前go版本信息,正常情况下如下视图:

至此整个Fabric所需的基础环境都已经搭建起来了,这种搭建方式是有网络的情况下成立的,很多公司都有自己的内网,或者是禁制本地服务器连接外部网络,又或者是连接外部网络的时候需要申请各种权限,导致无法实现本篇所说的安装过程,故此,下一章Hyperledger Fabric 1.0 从零开始(三)——内网(准离线)环境构建将会就此来讲述一下如何在离线环境下实现Fabric环境的搭建过程。

Hyperledger Fabric 1.0 从零开始(二)——环境构建(公网)的更多相关文章

  1. Hyperledger Fabric 1.0 从零开始(三)——环境构建(内网/准离线)

    有公网环境的服务器可以直接看 Hyperledger Fabric 1.0 从零开始(二)--环境构建(公网) ,本篇内容与上篇相似,只不过环境搭建需要在内网下,也就是网络被限制的情况下. 1:环境构 ...

  2. Hyperledger Fabric 1.0 从零开始(十二)——fabric-sdk-java应用【补充】

    在 Hyperledger Fabric 1.0 从零开始(十二)--fabric-sdk-java应用 中我已经把官方sdk具体改良办法,即使用办法发出来了,所有的类及文件都是完整的,在文章的结尾也 ...

  3. Hyperledger Fabric 1.0 从零开始(十二)——fabric-sdk-java应用

    Hyperledger Fabric 1.0 从零开始(十)--智能合约 Hyperledger Fabric 1.0 从零开始(十一)--CouchDB 上述两章,最近网上各路大神文章云集,方案多多 ...

  4. Hyperledger Fabric 1.0 从零开始(一)——吐槽

    在HyperLedger/Fabric发布0.6的时候,公司就已经安排了一个团队研究这一块,后来也请IBM的专家组过来培训了一批人,不幸的是,这批人后来全走了,然后没过多久1.0就发布了.自从2017 ...

  5. Hyperledger Fabric 1.0 从零开始(一)

    在HyperLedger/Fabric发布0.6的时候,公司就已经安排了一个团队研究这一块,后来也请IBM的专家组过来培训了一批人,不幸的是,这批人后来全走了,然后1.0就发布了.自从2017年7月H ...

  6. Hyperledger Fabric 1.0 从零开始(十三)——orderer分布式方案

    简述 在搭建HyperLedger Fabric环境的过程中,我们会用到一个configtx.yaml文件(可参考Hyperledger Fabric 1.0 从零开始(八)——Fabric多节点集群 ...

  7. Hyperledger Fabric 1.0 从零开始(八)——Fabric多节点集群生产部署

    6.1.平台特定使用的二进制文件配置 该方案与Hyperledger Fabric 1.0 从零开始(五)--运行测试e2e类似,根据企业需要,可以控制各节点的域名,及联盟链的统一域名.可以指定单独节 ...

  8. Hyperledger Fabric 1.0 从零开始(六)——创建Fabric多节点集群

    4:创建Fabric多节点集群 4.1.配置说明 首先可以根据官方Fabric自带的e2e_cli列子中的集群方案来生成我们自己的集群,与案例不同的是我们需要把容器都分配到不同的服务器上,彼此之间通过 ...

  9. Hyperledger Fabric 1.0 从零开始(四)——Fabric源码及镜像文件处理

    2:Fabric源码及镜像文件处理 2.1下载Fabric源码 下载Fabric源码是因为要用到源码中提到的列子和工具,工具编译需要用到go语言环境,因此需要把源码目录放到$GOPATH下.通过1.3 ...

随机推荐

  1. HTML-CSS相关(2)

    [CSS常用文本属性] 1,字体.字号类: ① font-weight:字体粗细. bold-加粗 noemal-正常 lighter-细体 也可以使用100-900数值,400表示normal,70 ...

  2. 纯JSP实现用户登录注册,记事本

    没有美化,没有格式,没有样式 1.JSP登陆注册 将用户注册的信息保存在application对象中,用于登录时的验证. 首页如下: 如果未登录,在  session 中找不到 currentUser ...

  3. DVWA笔记之二:Command Injection

    命令注入 1.Low级别 <?php  if( isset( $_POST[ 'Submit' ]  ) ) {      // Get input      $target = $_REQUE ...

  4. 【VMware Workstation】虚拟机静态IP NAT连接外部网络(局域网以及广域网)

    使用虚拟机时,为了减少后期的网络维护工作,配置网络IP时使用了NAT连接.静态IP的方式.这里把我的配置步骤顺序罗列出来. 一.配置虚拟网络编辑器 1.在VMware 的编辑菜单选择虚拟网络编辑器 2 ...

  5. Leetcode - Letter Combination Of A Phone Number

    Given a digit string, return all possible letter combinations that the number could represent. A map ...

  6. Xcode修改包名(含cocopods)

    由于需要现在要更改包名,但是在网上找了N多资料都比较老,16年的资料却是残缺不全,尤其 ios10 出了 .entitlement  的机制 ,很多琐碎的小细节 很容易忘记.所以我自己总结了一篇. 注 ...

  7. javaScript 设计模式系列之三:代理模式

    介绍 代理模式为其他对象提供一种代理以控制对这个对象的访问. 根据代理模式的使用目的不同,代理模式又可以分为多种类型: 远程代理(Remote Proxy) 虚拟代理(Virtual Proxy)如需 ...

  8. Stream-快速入门Stream编程

    1.什么是流 Stream 不是集合元素,它不是数据结构并不保存数据,它是有关算法和计算的,它更像一个高级版本的 Iterator.原始版本的 Iterator,用户只能显式地一个一个遍历元素并对其执 ...

  9. Jquery Mobile笔记之一

    jQuery Mobile 在你的网页中添加 jQuery Mobile 你可以通过以下几种方式将jQuery Mobile添加到你的网页中: 从 CDN 中加载 jQuery Mobile (推荐) ...

  10. Mysql 掌握要点

    1. 引擎 InnoDB与MyISAM的最大不同有两点:一是支持事务(TRANSACTION):二是采用了行级锁. 行级锁和表级锁本来就有许多不同之处,另外,事务的引入也带来了一些新问题. 1.1 I ...