Arm64架构CentOS7服务器搭建Fabric情况

打印 上一主题 下一主题

主题 973|帖子 973|积分 2919

本文记录在Arm64架构的CentOS7服务器上搭建Fabric情况的流程,该主机可以访问公网但是不方便访问Github和Docker Hub。
  
  

一、软件包管理器

   错误:
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=aarch64&repo=os&infra=stock error was14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误"

缘故原由:CentOS7官方源已克制更新,导致源无法利用,需要换为国内镜像源。
  备份:
  1. cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
复制代码
换源:
  1. curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-altarch-7.repo
复制代码
清理YUM缓存并天生新的缓存:
  1. yum clean all
  2. yum makecache
复制代码
测试新的YUM源:
  1. yum search vim
复制代码

二、基本软件

  1. yum update -y
  2. yum install wget -y
  3. yum install git -y
  4. yum install tree -y
复制代码
  错误:安装jq时提示没有可用的软件包。
[img=60%,60%]https://i-blog.csdnimg.cn/direct/db97517896ac4f4ea2f4bab5535bae72.png#pic_left[/img]

缘故原由:该软件包在第三方的yum源里面,而不在官方yum源里面。解决的方法就是安装epel源。
  1. yum install epel-release -y
  2. yum update -y
  3. yum install jq -y
复制代码

三、Docker和Docker Compose

安装必要的组件:
  1. yum install -y yum-utils device-mapper-persistent-data lvm2
  2. yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
复制代码
查询可安装的Docker版本:
  1. yum list docker-ce --showduplicates | sort -r
复制代码
安装:
  1. yum -y install docker-ce-26.1.4
复制代码
  出现如下题目时:

编辑/etc/yum.repos.d/docker-ce.repo文件,将[docker-ce-test]下方的enabled=0修改为enabled=1。
  1. systemctl start docker
  2. systemctl enable docker
  3. docker version
复制代码
  注1:安装Docker时会自动安装插件(plugin)式的Docker Compose(命令为:docker compose xxx),但是我们需要二进制文件形式的(命令为:docker-compose xxx)。
  对于CentOS7.9,利用yum命令安装的docker-compose的版本为1.15,不符合要求。从Github(https://github.com/docker/compose/releases)下载符合版本要求和架构要求的docker-compose二进制文件,例如:
https://github.com/docker/compose/releases/download/v2.33.0/docker-compose-linux-aarch64
生存到/usr/bin/下并重命名为docker-compose,赋予可执行权限即可。
   注2:从Docker Compose v2.0开始,YAML文件中的version字段已经不再需要,后续利用时的相干警告信息可以忽略。
  
Golang

下载并解压:
  1. wget https://dl.google.com/go/go1.22.4.linux-arm64.tar.gz
  2. tar -C /usr/local -zxvf go1.22.4.linux-arm64.tar.gz
复制代码
打开/etc/profile文件:
  1. vim /etc/profile
复制代码
在文件的最后添加如下内容:
  1. export GOROOT=/usr/local/go
  2. export PATH=$PATH:$GOROOT/bin
复制代码
利用source命令使之见效:
  1. source /etc/profile
复制代码
验证Golang的安装是否成功:
  1. go version
复制代码
设置代理和Modules:
  1. export GOPROXY=https://goproxy.cn,direct
  2. export GO111MODULE=on
复制代码

五、Java

  1. yum install java-11-openjdk.aarch64 -y
  2. java --version
复制代码

六、Fabric

6.1. 测试网络项目源代码

克隆测试网络的仓库:
  1. git clone https://gitee.com/hyperledger/fabric-samples.git
复制代码
6.2. 二进制文件

在有网络情况(本机)下载二进制文件的压缩文件hyperledger-fabric-linux-arm64-2.5.9.tar.gz和hyperledger-fabric-ca-linux-arm64-1.5.12.tar.gz,上传到服务器的/fabric-samples文件夹下。
解压压缩文件并赋予可执行权限:
  1. tar -zxvf hyperledger-fabric-linux-arm64-2.5.9.tar.gz
  2. tar -zxvf hyperledger-fabric-ca-linux-arm64-1.5.12.tar.gz
  3. chmod +x ./bin/*
复制代码
打开/etc/profile文件:
  1. vim /etc/profile
复制代码
在文件的最后添加如下内容:
  1. export PATH=$PATH:/usr/local/hyfa/fabric-samples/bin
复制代码
利用source命令使之见效:
  1. source /etc/profile
复制代码
6.3. 镜像文件

在有网络情况(Amd64架构Vmware虚拟机,可FanQiang)修改 dockerd 设置文件:
  1. vim /etc/docker/daemon.json
复制代码
添加如下内容以开启 dockerd 的实行属性:
  1. {
  2.   "experimental": true
  3. }
复制代码
利用以下命令重置服务:
  1. systemctl daemon-reload
  2. systemctl restart docker
复制代码
之后即可在Amd64架构下拉取Arm64架构的镜像文件。
拉取镜像文件并查抄是否符合要求:
  1. docker pull --platform linux/arm64 hyperledger/fabric-peer:2.5.9
  2. docker image inspect hyperledger/fabric-peer:2.5.9 | grep Architecture
  3. docker pull --platform linux/arm64 hyperledger/fabric-orderer:2.5.9
  4. docker image inspect hyperledger/fabric-orderer:2.5.9 | grep Architecture
  5. docker pull --platform linux/arm64 hyperledger/fabric-ccenv:2.5.9
  6. docker image inspect hyperledger/fabric-ccenv:2.5.9 | grep Architecture
  7. docker pull --platform linux/arm64 hyperledger/fabric-baseos:2.5.9
  8. docker image inspect hyperledger/fabric-baseos:2.5.9 | grep Architecture
  9. docker pull --platform linux/arm64 hyperledger/fabric-javaenv:2.5.4
  10. docker image inspect hyperledger/fabric-javaenv:2.5.4 | grep Architecture
  11. docker pull --platform linux/arm64 hyperledger/fabric-ca:1.5.12
  12. docker image inspect hyperledger/fabric-ca:1.5.12 | grep Architecture
  13. docker pull --platform linux/arm64 busybox:1.36
  14. docker image inspect busybox:1.36 | grep Architecture
复制代码
将镜像生存为压缩文件:
  1. docker save -o fabric-peer-2.5.9.tar hyperledger/fabric-peer:2.5.9
  2. docker save -o fabric-orderer-2.5.9.tar hyperledger/fabric-orderer:2.5.9
  3. docker save -o fabric-ccenv-2.5.9.tar hyperledger/fabric-ccenv:2.5.9
  4. docker save -o fabric-baseos-2.5.9.tar hyperledger/fabric-baseos:2.5.9
  5. docker save -o fabric-javaenv-2.5.4.tar hyperledger/fabric-javaenv:2.5.4
  6. docker save -o fabric-ca-1.5.12.tar hyperledger/fabric-ca:1.5.12
  7. docker save -o busybox-1.36.tar busybox:1.36
复制代码
将压缩文件下载到本机,再上传到服务器。
加载为镜像:
  1. docker load -i fabric-peer-2.5.9.tar
  2. docker load -i fabric-orderer-2.5.9.tar
  3. docker load -i fabric-ccenv-2.5.9.tar
  4. docker load -i fabric-baseos-2.5.9.tar
  5. docker load -i fabric-javaenv-2.5.4.tar
  6. docker load -i fabric-ca-1.5.12.tar
  7. docker load -i busybox-1.36.tar
复制代码
  出现如下题目时:

有说是由于从虚机中将文件复制出来时导致文件不全,可以利用md5sum命令验证。实际利用中多实行几次即可解决。
  将镜像标记为latest:
  1. docker tag hyperledger/fabric-peer:2.5.9 hyperledger/fabric-peer
  2. docker tag hyperledger/fabric-orderer:2.5.9 hyperledger/fabric-orderer
  3. docker tag hyperledger/fabric-ccenv:2.5.9 hyperledger/fabric-ccenv
  4. docker tag hyperledger/fabric-baseos:2.5.9 hyperledger/fabric-baseos
  5. docker tag hyperledger/fabric-javaenv:2.5.4 hyperledger/fabric-javaenv
  6. docker tag hyperledger/fabric-ca:1.5.12 hyperledger/fabric-ca
  7. docker tag busybox:1.36 busybox
复制代码

七、参考(部门)

   1、Cenos7换源
2、无网络情况,如何部署Docker镜像
3、Linux安装docker,报错Error downloading packages
4、如何利用 docker pull 拉取特定架构的容器镜像

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

羊蹓狼

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表