docker配置fabric单机多节点环境

本文记录了在virtualBox6.1.8上的ubuntu16.04.7上使用容器docker18.09.7安装fanbric最新版本,搭建单机多节点fabric基础网络的过程。

fabric环境配置

  • 环境准备:使用vscode插件,ssh连接ubuntu。

  • 进行换源

  • 更新软件源

    sudo apt update
    
    sudo apt upgrade
    

安装相关环境

docker安装

  • 安装docker.io

    sudo apt install docker.io
    
    sudo systemctl start docker
    
    sudo systemctl enable docker
    
    docker --version
    
  • 将非root用户添加到docker组。

    sudo groupadd docker  # 添加docker组
    
    sudo usermod -aG docker kate #将当前用户添加到docker组里面
    

    重启电脑,使用docker images测试。

  • 安装docker compose

    sudo apt install docker-compose
    
    docker-compose --version
    

cURL安装

sudo apt-get install curl

GO语言环境安装

  • 从官网下载最新版本:

    curl -O https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz
    
  • 解压:

    tar -xvf go1.10.3.linux-amd64.tar.gz 
    

    得到 ./go/ 文件夹:

    ls go/
    

    计算机的输出是:

    api      bin              CONTRIBUTORS  favicon.ico  LICENSE  PATENTS  README.md   src   VERSION
    AUTHORS  CONTRIBUTING.md  doc           lib          misc     pkg      robots.txt  test
    
  • 进入 go 可执行文件目录:

    cd ./go/bin/
    

    查看文件

    ls
    

    计算机的输出:

    go  godoc  gofmt
    

    其中上面三个文件都是绿色,说明是可执行文件。

  • 得到当前目录的绝对路径

    pwd
    

    计算机的输出:

    /home/flyq/workspace/go/bin
    

    因此拿着这个绝对论据去设置go的环境变量(就是去修改 .bashrc 文件):

    用编辑器打开 ~/.bashrc 文件,比如我是用 vim:

    vim ~/.bashrc
    

    在最后一行添加:(具体添加的是刚才查询到的路径)

    export PATH=$PATH:/home/kate/fabric/go/bin/
    

    然后保存好,更新一下:

    source ~/.bashrc
    

    运行go version出现以下结果即表示安装成功:

    go version 
    go version go1.10.3 linux/amd64s
    
  • 最后设置一下 GOPATH 环境变量,同样是修改 ~/.bashrc 文件:

    1. 创建一个新建目录 gopath:mkdir gopath;

    2. 进入这个目录:cd gopath;

    3. 创建需要的文件夹:mkdir src bin pkg;

    4. 得到当前目录的绝对路径:pwd;

    5. 将添加这两行到 ~/.bashrc下面:vim ~/.bashrc;

      source ~/.bashrc
      

      go 环境已经安装并配置好了.

安装 gopm

注:如果你的终端环境能翻墙,这步跳过。 如果不能翻墙,那么就无法使用 go get 来获取对应的项目,这里推荐用 gopm get 来获取对于项目,因为它是无需翻墙的。

拉去 gopm 代码:

cd $GOPATH/src

mkdir -p github.com/gpmgo/

cd ./github.com/gpmgo

git clone https://github.com/gpmgo/gopm.git

cd ./gopm

go build

ls

然后可以看到会生成一个可执行文件 gopm,把它复制到 $GOPATH/bin 下面即可:

 cp ./gopm $GOPATH/bin

运行:

gopm --version

得到输出:

Gopm version 0.8.8.0307 Beta

说明安装成功。

接下来你就可以在任意路径下使用 gopm get 来代替 go get 了。

Fabric环境部署&运行示例

  • 下载fabric源代码

    mkdir -p $GOPATH/src/github.com/hyperledger
    cd $GOPATH/src/github.com/hyperledger
    git clone https://github.com/hyperledger/fabric.git
    
  • docker组件下载

    • 搜索镜像

      docker search fabric
      
    • 拉取合适镜像

      docker pull hyperledger/fabric-ca
      docker pull hyperledger/fabric-orderer
      docker pull hyperledger/fabric-peer
      docker pull hyperledger/fabric-ccenv
      docker pull hyperledger/fabric-tools
      docker pull hyperledger/fabric-baseos
      docker pull hyperledger/fabric-kafka
      docker pull hyperledger/fabric-zookeeper
      docker pull hyperledger/fabric-couchdb
      
  • 主要节点的依赖关系:

    img

遇到的问题

  1. push镜像的时候:

    error pulling image configuration: Get https://registry-1.docker.io/v2/hyperledger/fabric-ca/blobs/sha256:dbbc768aec79740d023872893260a3be124b657782593a44676ffa6112977883: net/http: TLS handshake timeout
    

    原因:官方的仓库下载速度太慢

    解决办法:换源

    • 使用https://www.daocloud.io/mirror#accelerator-doc
      该脚本可以将 --registry-mirror 加入到你的 Docker 配置文件 /etc/docker/daemon.json 中

      curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
      
      sudo systemctl restart docker //重启docker
      
    • 或者换阿里的镜像(阿里的更加稳定一点)

      修改/etc/docker/daemon.json文件配置,没有则新建

      {
        "registry-mirrors": ["https://m3dz4myl.mirror.aliyuncs.com"]
      }
      

      重启daemon

      systemctl daemon-reload
      

      重启docker服务

      systemctl  restart docker
      
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值