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.2.2 git安装
执行以下命令完成git的安装:
sudo apt install -y git
查看安装结果,执行命令:
git version
如下图所示,命令正常执行将显示版本信息,表示安装成功。
1.2.3 jq安装
执行以下命令完成jq的安装:
sudo apt install -y jq
查看安装结果,执行命令:
jq --version
如下图所示,命令正常执行将显示版本信息,表示安装成功。
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
如下图所示,命令正常执行将显示版本信息,表示安装成功。
1.2.5 Docker安装
在线安装Docker之前,需要进行如下准备工作:
- 安装https访问依赖包,执行如下命令:
sudo apt-get install apt-transport-https ca-certificates software-properties-common
- 添加docker官方GPG key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- 设置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
- 安装Docker:
安装docker-ce(Docker的社区版)通过如下命令:
# 默认安装最新版本
sudo apt-get install -y docker-ce
如果需要安装指定版本,可以先查看版本列表,执行如下命令:
sudo apt-cache madison docker-ce
显示结果如下图所示:
按照版本要求,本文指定安装版本号为18.06.3ce3-0~ubuntu的docker-ce,执行如下命令:
sudo apt-get install -y docker-ce=18.06.3~ce~3-0~ubuntu
查看安装结果,执行命令:
docker -v
如下图所示,命令正常执行将显示版本信息,表示安装成功。
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
如下图所示,命令正常执行将显示版本信息,表示安装成功。
本节中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 发布
有疑问加站长微信联系(非本文作者)