2018.07.11 | 零零碎碎 | 4139 浏览 | 0 赞 | 0 条评论


请注意,本文编写于 2287 天前,最后修改于 1988 天前,其中某些信息可能已经过时。
AI摘要:本文介绍了在Ubuntu 18.04系统环境下搭建Hyperledger Fabric的方法。首先安装Go语言环境,然后安装Docker和Docker-compose。接着从GitHub上下载Fabric源码,并切换到v1.0.0版本。最后,拉取Fabric Docker镜像并启动示例网络。文章还提供了一些常见的bug fix,如修改配置文件、解决权限问题和重启网络。

Powered by AISummary and MoonShot KimiChat.

系统环境:ubuntu18.04

安装Go语言环境

首先到https://golang.google.cn/dl/下载安装包并解压

tar -xvf go1.10.linux-amd64.tar.gz
sudo mv go /usr/local

编辑环境变量:

vim ~/.profile

在环境变量中增加如下几行:

export PATH=$PATH:/usr/local/go/bin
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$HOME/go/bin

:wq保存并退出,回到命令行状态即刻应用更改

source ~/.profile

在Home目录下创建go文件夹

mkdir go

安装Docker

安装Docker的方法有多种,使用apt-get安装的版本较低。一些教程上的安装方法不适合国内环境

更新源:

sudo apt-get update

添加使用 HTTPS 传输的软件包以及 CA 证书:

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

添加软件源的GPG密钥(此处用中科大的源):

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

向 source.list 中添加 Docker 软件源:

sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable "

安装和启动docker-ce:

sudo apt-get update
sudo apt-get install docker-ce
sudo systemctl enable docker
sudo systemctl start docker

增加docker用户组:

sudo groupadd docker
sudo usermod -aG docker $USER

安装Docker-compose(需要安装好pip工具):

sudo pip install docker-compose

可以使用docker version命令查看版本

Tip:使用阿里云加速

拉取官方镜像时由于docker官网连接速度较慢,可以使用阿里云的镜像。

具体操作方法是到 https://cr.console.aliyun.com/#/accelerator 申请,需要阿里云账号(emmm...淘宝账号...)

之后会看到如下图所示:

复制加速地址并执行以下命令:

$sudo mkdir -p /etc/docker
$sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["加速地址"]
}
EOF
$sudo systemctl daemon-reload
$sudo systemctl restart docker

Fabric源码下载

需要安装git工具

mkdir -p ~/go/src/github.com/hyperledger
cd ~/go/src/github.com/hyperledger
git clone https://github.com/hyperledger/fabric.git

切换到v1.0.0版本:

cd ~/go/src/github.com/hyperledger/fabric
git checkout v1.0.0

拉取Fabric Docker镜像:

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

启动示例网络:

./network_setup.sh up

当这个象征胜利的图案出现时:

恭喜我们跳入了这个巨坑!

如果没有...看看下面的bug fix吧qwq

Bug fix 1:

如果出现以下错误:

Error: Error endorsing chaincode: rpc error: code = Unknown dest = error starting container: API error (404): {"message": "network e2e2ecli_default not found"}
Chaincode instanttiation on PEER2 on channel 'mychannel' failed

是由于相应配置文件的bug导致,需要做的修改是打开当前目录下 base/peer-base.yaml

vim base/peer-base.yaml

将其中的

- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2ecli_default

改为

- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2e_cli_default

Bug fix 2:

如果出现以下问题:

WARNING: Error loading config file: .../.docker/config.json: permission denied

权限问题...第一次用sudo su跑起来吧,之后亲测非sudo也可以跑

Bug fix 3:

重启大法好...

./network_setup.sh down
./network_setup.sh up

本文链接:https://www.idealclover.top/archives/341/

本作品由 idealclover 采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可,转载请注明出处。

标签: tar, usr, 证书, 文件, install, docker, sudo, path

0

没有评论 T^T


🤔关于我
翠翠 idealclover
Product Manager @ByteDance
南京大学 2016 级本科生
了解更多
🏠关于博客
基于 Typecho 博客框架
使用个人的 clover clover 主题