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

  • 文章作者:xiaohui249
  • 本文链接:http://javatech.wang/index.php/archives/122/
  • 版本所有 ©转载时必须以链接形式注明作者和原始出处

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

猜你喜欢

转载自blog.csdn.net/xiaohui249/article/details/106858789