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

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

file

1.2.2 git安装

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

sudo apt install -y git

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

git version

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

file

1.2.3 jq安装

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

sudo apt install -y jq

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

jq --version

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

file

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

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

file

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

显示结果如下图所示:

file

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

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

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

docker -v

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

file

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

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

file

本节中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 "|_____| |_| \_| |____/  "

本文由博客群发一文多发等运营工具平台 OpenWrite 发布

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,423评论 6 491
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,147评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,019评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,443评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,535评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,798评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,941评论 3 407
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,704评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,152评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,494评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,629评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,295评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,901评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,742评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,978评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,333评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,499评论 2 348