本文是笔者学习使用Fabric2.0之后整理的学习笔记,分享给大家,一起学习,一起进步!本文主要介绍Fabric2.0网络搭建的环境准备,包括环境资源介绍和依赖安装。

### 1.1 环境资源 Fabric推荐安装系统为Linux和Mac,本文的安装环境为安装Ubuntu系统的虚拟机,内存设置为4G。本文使用的系统安装包为ubuntu-20.04-live-server-amd64.iso,至于如何安装虚拟机请自行百度。

1.2 依赖安装

在已经准备好服务器或虚拟机的前提下,本节主要介绍Fabric平台安装部署过程中所需要的软件安装。这些软件包括:

  • curl:下载工具,版本latest

  • git:代码克隆工具,版本latest

  • golang:Fabric很多组件基于Go编程开发,版本1.14.2

  • jq:JSON解析器,版本latest

  • Docker:容器,版本18.06.3-ce

  • Docker Compose:容器管理工具,版本1.25.5

Ubuntu系统提供的软件安装命令是apt-get,在进行软件安装之前,需要把资源列表进行更新,保证下载到最新的软件版本。执行如下命令实现资源列表更新:

sudo apt update -y --fix-missing

1.2.1 curl安装

执行以下命令完成curl的安装:

sudo apt install -y curl

查看安装结果,执行命令:

curl -V

如下图所示,命令正常执行将显示版本号,发布时间等信息,表示安装成功。
图片1.png

1.2.2 git安装

执行以下命令完成git的安装:

sudo apt install -y git

查看安装结果,执行命令:

git version

如下图所示,命令正常执行将显示版本信息,表示安装成功。
图片2.png

1.2.3 jq安装

执行以下命令完成jq的安装:

sudo apt install -y jq

查看安装结果,执行命令:

jq --version

如下图所示,命令正常执行将显示版本信息,表示安装成功。
图片3.png

1.2.4 golang安装与配置

Golang的安装比较简单,直接下载解压即可,压缩包可以从共享服务器上下载。执行如下命令:

#解压安装到/usr/local目录
sudo tar -xvf go1.14.2.linux-amd64.tar.gz -C /usr/local 

接下创建Go的工作目录,执行如下命令:

sudo mkdir -p /opt/goworkspace/bin  
sudo mkdir -p /opt/goworkspace/src  
sudo mkdir -p /opt/goworkspace/pkg 

设置Go相关的环境变量:

# 设置环境变量
sudo vim /etc/profile
# 将以下内容追加到文件末尾
export GOROOT=/usr/local/go
export GOPATH=/opt/goworkspace
export PATH=$GOROOT/bin:$PATH
# 使环境变量生效
source /etc/profile

Go设置代理:由于go一些依赖包被墙,所以需要设置代理。

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

查看安装结果,执行命令:

go version

如下图所示,命令正常执行将显示版本信息,表示安装成功。
图片4.png

1.2.5 Docker安装

在线安装Docker之前,需要进行如下准备工作:

  1. 安装https访问依赖包,执行如下命令:
sudo apt-get install apt-transport-https ca-certificates software-properties-common
  1. 添加docker官方GPG key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  1. 设置Docker稳定版仓库:
# 备份/etc/apt/sources.list
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
# 编辑/etc/apt/sources.list
sudo vim /etc/apt/sources.list
# 将以下内容添加到文件最后
deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable
# 更新源
sudo apt-get update 
  1. 安装Docker:

安装docker-ce(Docker的社区版)通过如下命令:

# 默认安装最新版本
sudo apt-get install -y docker-ce

如果需要安装指定版本,可以先查看版本列表,执行如下命令:

sudo apt-cache madison docker-ce

显示结果如下图所示:

图片5.png

按照版本要求,本文指定安装版本号为18.06.3~ce~3-0~ubuntu的docker-ce,执行如下命令:

sudo apt-get install -y docker-ce=18.06.3~ce~3-0~ubuntu

查看安装结果,执行命令:

docker -v

如下图所示,命令正常执行将显示版本信息,表示安装成功。

图片6.png

1.2.6 Docker镜像加速设置

在目录/etc/docker中创建文件daemon.json,将如下内容写入该文件:

{

"registry-mirrors": ["https://rl4uepop.mirror.aliyuncs.com"]

}

重新加载配置文件并重启docker,执行如下命令:

sudo systemctl daemon-reload
sudo systemctl restart docker

1.2.7 Docker Compose安装

Docker Compose是一个用于定义和运行多容器的Docker的应用程序工具,可以高效、轻松的管理Docker容器。

# 下载
sudo curl -L 
https://github.com/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 设置权限
chmod +x /usr/local/bin/docker-compose
# 查看是否安装成功
docker-compose -v

如下图所示,命令正常执行将显示版本信息,表示安装成功。

图片7.png

本节中docker-compose的下载过程比较漫长,可以从共享文件系统获取已下载的docker-compose文件。

另外可以加速下载docker-compose的方法是从国内镜像上下载,执行如下命令:

sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

1.3 彩蛋

上述依赖安装需要读者一步一步安装,为了方便读者完成依赖的安装,本文提供一键安装的脚本程序,需要root用户(权限)执行。其中go安装包的下载可能需要几分钟的时间,如果不能接受则可以从网上拉取go安装包自行安装,安装配置完成之后在执行该脚本,则自动检测并跳过go的安装。

脚本内容如下:

#!/bin/bash

# echo print with color
function echoColor()
{
    echo -e "\033[35;1m$1\033[0m"
}

# update os
function updateOS()
{
    echoColor "Updating system to newest version"
    sudo apt-get update -y --fix-missing
    echo
}

# install docker precondition
function installPreDependence()
{
    echoColor "-----------------------------------------------------------------"
    echoColor "Start install dependency items, please wait......."
    
    # 安装git
    echoColor "Start Install git"
    apt-get install -y git

    # 安装cURL
    echoColor "Start Install curl"
    apt-get install curl -y

    # 安装jq
    echoColor "Start Install jq"
    apt-get install jq -y

    echoColor "Finish installed dependency items."
    echoColor "-----------------------------------------------------------------"
}

# 安装 Golang
function installGolang()
{
    echo
    echoColor "-----------------------------------------------------------------"
    echoColor "Start install Golang,please wait......."
    
    if [ -d ${GOROOT} ];then
        source /etc/profile
        go version
        return;
    fi

    # 下载Go
    echo
    echoColor "Download Golang package and unpack it"
    sudo curl -O https://dl.google.com/go/go1.14.2.linux-amd64.tar.gz
    tar -xvf go1.14.2.linux-amd64.tar.gz

    echo
    echoColor "Move it to /usr/local/go"
    mv go /usr/local/go

    # 设置环境变量
    echoColor "Create GOPATH"
    mkdir -p /opt/goworkspace/bin
    mkdir -p /opt/goworkspace/src
    mkdir -p /opt/goworkspace/pkg

    echo
    echoColor "Set golang environment"
    echo >> /etc/profile
    echo "#set golang env" >> /etc/profile

    echo "export GOROOT=/usr/local/go" >> /etc/profile
    echo "export GOPATH=/opt/goworkspace" >> /etc/profile
    echo "export PATH=$PATH:$GOROOT/bin" >> /etc/profile
    source /etc/profile

    echo
    echoColor "Set goproxy"
    go env -w GO111MODULE=on
    go env -w GOPROXY=https://goproxy.cn,direct

    go version
    echo

    echo
    echoColor "Finish install Golang "
    echoColor "-----------------------------------------------------------------"
}

# 安装 docker和docker compose
function installDocker()
{   
    echo
    echoColor "-----------------------------------------------------------------"
    echoColor "Start install docker,please wait......."
    
    if [ ! -f "/usr/bin/docker" ];then
        echoColor "Install dependency items for https"
        sudo apt-get install apt-transport-https ca-certificates software-properties-common
        
        echoColor "Set stable repo for docker"
        curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
        sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
        sudo echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" >> /etc/apt/sources.list
        sudo apt-get update

        echoColor "Install docker and start service"
        sudo apt-get install -y docker-ce=18.06.3~ce~3-0~ubuntu

        echoColor "Set accelerate registry-mirrors"
        sudo mkdir -p /etc/docker
        sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://rl4uepop.mirror.aliyuncs.com"]
    }
    EOF
        sudo systemctl daemon-reload
        sudo systemctl restart docker
    fi
    docker -v

    echo
    if [ ! -f "/usr/local/bin/docker-compose" ];then
        echoColor "Install docker-compose"
        sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
        sudo chmod +x /usr/local/bin/docker-compose
    fi
    docker-compose -v

    echoColor "Finish install docker and docker-compose!"
    echoColor "-----------------------------------------------------------------"
    echo
}

echoColor " ____    _____      _      ____    _____ "
echoColor "/ ___|  |_   _|    / \    |  _ \  |_   _|"
echoColor "\___ \    | |     / _ \   | |_) |   | |  "
echoColor " ___) |   | |    / ___ \  |  _ <    | |  "
echoColor "|____/    |_|   /_/   \_\ |_| \_\   |_|  "

updateOS
installPreDependence
installGolang
installDocker

echoColor " _____   _   _   ____   "
echoColor "| ____| | \ | | |  _ \  "
echoColor "|  _|   |  \| | | | | | "
echoColor "| |___  | |\  | | |_| | "
echoColor "|_____| |_| \_| |____/  "
文章作者:xiaohui249
本文链接:https://javatech.wang/index.php/archives/122/
版本所有 ©转载时必须以链接形式注明作者和原始出处