记一次ubuntu18 采用docker部署Fabric1.4以及所遇到的大坑(一)

记一次ubuntu18 采用docker部署Fabric1.4(一)

关于Docker和Fabric1.4下载(包含go_lang配置)

00 导言

 由 Linux 基金会发起创建的开源区块链分布式账本 —— Hyperledger Fabric,已经迎来了 1.4.0 版本。该项目着重于性能和可靠性,以及推动区块链和分布式账本技术的跨行业协作。Hyperledger Fabric 可用于全球供应链管理、金融交易、资产账和去中心化的社交网络等场景,但无意以此来构建一种加密货币。

  下面我们将带着大家一步一步来搭建自己的HyperLedger Fabric开发环境。老司机已经发车,赶紧跟上。。。

01 操作系统准备

  我们选择了ubuntu18.04这个版本。

02 安装curl

  后面的步骤我们需要用到curl命令来下载安装脚本和其他文件,所以需要先安装curl,如果已经安装可略过。       第1步: 安装curl,如果已经安装可略过
$ sudo apt install curl

03 安装docker-ce

  docker分两个怎么,分为docker-ce(社区版)和docker-ee(企业版)。作为穷人阶级代表的我,只能无奈选择使用社区版。在ubuntu操作系统上安装docker-ce,实际上docker官方提供了三种方式。

  1. 通过docker仓库安装

  2. 下载.deb包安装

  3. 通过安装脚本安装

  在这里我们选择第3种方式进行安装

第1步: 使用curl下载安装脚本

$ curl -fsSL https://get.docker.com -o get-docker.sh

$ ls get*

get-docker.sh

第2步: 执行脚本进行安装,这一步需要等待一阵时间。

$ sudo sh get-docker.sh

第3步: 设置成非root用户也能执行docker,需要将普通用户加入docker组,$USER代表当前用户

$ sudo usermod -aG docker $USER

第4步: 执行hello-world镜像,验证docker是否安装成功。如果看到 Hello from Docker! This message shows that your installation appears to be working 这句话表明安装成功了。

$ sudo docker run hello-world
...... 一堆提示信息
Hello from Docker!
This message shows that your installation appears to be working correctly.
.....一堆提示信息

04 安装docker-compose

  Compose 是 Docker 容器进行编排的工具,定义和运行多容器的应用,可以一条命令启动多个容器。HyperLedger Fabric需要用到docker-compose,所以我们提前安装。

第1步: 下载某个版本的docker-compose,下载到/usr/local/bin/docker-compose目录。更多版本请访问:https://github.com/docker/compose/releases

$ sudo curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
  这里解释一下: uname -s 得到Linux,uname -m 得到x86_64。可在复制到命令行执行查看。

第2步:允许其他用户执行compose相关命令

$ sudo chmod +x /usr/local/bin/docker-compose

第3步:验证安装是否成功

$ docker-compose --version
docker-compose version 1.21.2, build a133471

05 安装go
第1步:下载golang的tar包

$ wget https://storage.googleapis.com/golang/go1.11.linux-amd64.tar.gz
  由于众所周知的原因,google相应的站点被墙访问不了(兄弟,接受现实吧),我们得想其他办法。推荐从第三方镜像源下载golang的tar包,推荐镜像源 https://studygolang.com/dl,用浏览器打开该网址,下载linux的tar包。  或者直接:
$ wget https://dl.google.com/go/go1.11.linux-amd64.tar.gz

第2步:解压tar包到/usr/local

$ sudo tar -C /usr/local -xzf go1.11.linux-amd64.tar.gz

第3步:创建go目录

$ mkdir $HOME/go

第4步:用vi打开/etc/profile,配置环境变量

$ sudo vi /etc/profile
  增加下面的环境变量,保存退出
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOBIN:$GOPATH/bin
  使环境变量立即生效
$ source /etc/profile

第5步:检测go是否安装好

$ go version
go version go1.11 linux/amd64

06 安装python2.7

ubuntu18.04自带了python3, 安装2.7使用下面命令安装
$ sudo apt install python
$ python -V

07 安装并检测git

$ sudo apt update
$ sudo apt install git
$ git version

08 安装并检测nodejs

$ cd /opt
$ sudo wget https://nodejs.org/dist/v10.15.1/node-v10.15.1-linux-x64.tar.xz
$ sudo tar xvf node-v10.15.1-linux-x64.tar.xz
$sudo mv node-v10.15.1-linux-x64 nodejs
配置环境变量
$ sudo vi /etc/profile
#在最后加入
export NODE_HOME=/opt/nodejs
export PATH=$PATH:$NODE_HOME/bin
$ source /etc/profile
$ node -v
$ npm -v

09 下载fabric

先创建放置的目录,然后进入该目录,用git克隆fabric下来
$ cd $GOPATH
$ mkdir -p src/github.com/hyperledger
$ cd src/github.com/hyperledger
$ git clone https://github.com/hyperledger/fabric.git

10 执行引导脚本

 这一步通过运行脚本去git clone fabric-sample(官方提供的示例),还会下载相应的二进制可执行文件,而且还会拉取docker镜像。下载过程需要耗费比较长的时间。
$ ./fabric/scripts/bootstrap.sh 1.4.0 1.4.0 0.4.14
注1:如果下载卡住了,可以ctrl+c取消,然后重新执行bootstrap.sh脚本文件。如果觉得下载时间太长(可能一上午都下不完)。

注2:也可以直接下载fabric的源码来编译生成二进制可执行文件,然后创建bin目录,并将生成好的二进制文件拷贝到bin目录下。请查看文章《编译fabric1.4.0和fabric-ca1.4.0源码生成二进制可执行文件》。如果是采用编译生成的方式,则需要单独拉取docker镜像,-b表示不下载二进文件了,只拉取镜像,-s 表示不下载fabric-samples
#单独拉取docker镜像,-b表示不下载二进文件了,只拉取镜像,-s 表示不下载fabric-samples
$ ./fabric/scripts/bootstrap.sh -s -b 1.4.0 1.4.0 0.4.14 

11 查看是否下载成功

  下载完,可以直接执行ls,可以看到在hyperledger这个目录下多了一个fabric-samples,进去fabric-samples可以查看bin目录下是否有二进制文件,还可以执行docker images查看已经下载的docker相关镜像
$ cd fabric-samples
$ ls -l bin
总用量 197000
-rwxr-xr-x 1 bob bob 20300448 213 15:26 configtxgen
-rwxr-xr-x 1 bob bob 22434232 213 15:26 configtxlator
-rwxr-xr-x 1 bob bob 13450560 213 15:26 cryptogen
-rwxr-xr-x 1 bob bob 21415240 213 15:26 discover
-rwxr-xr-x 1 bob bob 20118792 213 15:27 fabric-ca-client
-rwxr-xr-x 1 bob bob 23187624 213 15:27 fabric-ca-server
-rwxr-xr-x 1 bob bob      829 213 15:26 get-docker-images.sh
-rwxr-xr-x 1 bob bob 12088400 213 15:26 idemixgen
-rwxr-xr-x 1 bob bob 30441328 213 15:26 orderer
-rwxr-xr-x 1 bob bob 38267960 213 15:26 peer
$ docker images
===> List out hyperledger docker images
hyperledger/fabric-tools       1.4.0               0a44f4261a55        4 weeks ago         1.56GB
hyperledger/fabric-tools       latest              0a44f4261a55        4 weeks ago         1.56GB
hyperledger/fabric-ccenv       1.4.0               5b31d55f5f3a        4 weeks ago         1.43GB
hyperledger/fabric-ccenv       latest              5b31d55f5f3a        4 weeks ago         1.43GB
hyperledger/fabric-orderer     1.4.0               54f372205580        4 weeks ago         150MB
hyperledger/fabric-orderer     latest              54f372205580        4 weeks ago         150MB
hyperledger/fabric-peer        1.4.0               304fac59b501        4 weeks ago         157MB
hyperledger/fabric-peer        latest              304fac59b501        4 weeks ago         157MB
hyperledger/fabric-ca          1.4.0               1a804ab74f58        4 weeks ago         244MB
hyperledger/fabric-ca          latest              1a804ab74f58        4 weeks ago         244MB
hyperledger/fabric-zookeeper   0.4.14              d36da0db87a4        4 months ago        1.43GB
hyperledger/fabric-zookeeper   latest              d36da0db87a4        4 months ago        1.43GB
hyperledger/fabric-kafka       0.4.14              a3b095201c66        4 months ago        1.44GB
hyperledger/fabric-kafka       latest              a3b095201c66        4 months ago        1.44GB
hyperledger/fabric-couchdb     0.4.14              f14f97292b4c        4 months ago        1.5GB
hyperledger/fabric-couchdb     latest              f14f97292b4c        4 months ago        1.5GB

11 添加环境变量

  用vi打开/etc/profile
$ sudo vi /etc/profile
  增加下面的环境变量,保存退出
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin:$GOPATH/src/github.com/hyperledger/fabric-samples/bin
  使环境变量立即生效
$ source /etc/profile
  检验环境变量是否成功
$ fabric-ca-client version
fabric-ca-client:
 Version: 1.2.0
 Go version: go1.10
 OS/Arch: linux/amd64

13 总结

  通过官方提供的引导脚本,我们可以快速的准备好HyperLedger Fabric 1.4.0 网络的运行环境,前提是我们需要安装好docker-ce和docker-compose。另外官方给的引导脚本路径访问不了,因此我们可以直接去到HyperLedger Fabric的github上找到相应的脚本下载下来,然后再运行。

Docker的一些常用操作指令

1、启动所有容器

docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)

2、关闭所有容器

docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)

3、删除所有容器

docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)

4、删除所有镜像(慎用)

docker rmi $(docker images | awk '{print $3}' |tail -n +2)

5、查看所有镜像

docker images

6、查看所有运行容器

docker ps -a

7、查看某个容器日志

docker logs [options] container

options说明:
	-f : 跟踪日志输出
	--since : 显示某个开始时间的所有日志
	-t : 显示时间戳
	--tail : 仅列出最新N条容器日志

8、用的最多的命令(我在执行fabric过程中需要疯狂删除容器)

#可以输入如下命令停止掉对应的容器,然后删除
docker ps -a
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
docker volume prune
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值