ARM架构下银河麒麟V10系统安装最新版本Docker

Posted 夜晓码农

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ARM架构下银河麒麟V10系统安装最新版本Docker相关的知识,希望对你有一定的参考价值。

概述

因项目需要,老大要在ARM服务器上的银河麒麟系统安装KubeSpere 3.3,然鹅KubeSpere 3.3需要Docker版本>= 19.3.8,银河麒麟V10 SP1和SP2官方源的Docker版本都是18.09.0,故而只有两个解决方案:

  1. KubeSpere降级
  2. 升级Docker

解决方案1- KubeSpere降级

将KubeSpere降级到3.0版本即可适用18.09.0。另外KubeSpere和Docker版本不适用主要原因来源于Kubernetes(K8S)和Docker版本的兼容问题。具体对应关系可查看下面链接 不完全的版本对应关系

最终,胳膊拧不过大腿,该方案被老大按下了

解决方案2- 升级Docker

  1. 添加CentOS-7仓库的变量
echo 7 > /etc/yum/vars/releasever 

为啥是7,我用到的是CentOS-7的软件源,你们用来其他版本的自由设置。不设置该变量,会导致Docker源失效。至于为啥失效,看下Docker源的文件就知道了。

  1. 参照Docker官方链接,添加Docker最新源
 #移除旧版本
 sudo yum remove docker \\
                  docker-client \\
                  docker-client-latest \\
                  docker-common \\
                  docker-latest \\
                  docker-latest-logrotate \\
                  docker-logrotate \\
                  docker-engine

 sudo yum install -y yum-utils
 #添加安装源
 sudo yum-config-manager \\
    --add-repo \\
    https://download.docker.com/linux/centos/docker-ce.repo

3.参照Docker官方链接

#安装最新版的Docker
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

遇到的问题

1. 安装失败,提示 “需要:container-selinux >= 2:2.74”

X86架构下的解决方案

请参考链接

ARM架构下的解决方案

第一步:编辑repo源
vi /etc/yum.repo.d/CentOS-Base.repo, 写入以下内容

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
 
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://mirrors.ustc.edu.cn/centos-altarch/$releasever/os/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-AltArch-Arm32
 
#released updates
[updates]
name=CentOS-$releasever - Updates
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=http://mirrors.ustc.edu.cn/centos-altarch/$releasever/updates/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-AltArch-Arm32
 
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://mirrors.ustc.edu.cn/centos-altarch/$releasever/extras/$basearch/
gpgcheck=0 #跳过检测,不然会报错:fuse-overlayfs-0.7.2-6.el7_8.aarch64.rpm is not installed gpg key
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-AltArch-Arm32
 
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
baseurl=http://mirrors.ustc.edu.cn/centos-altarch/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-AltArch-Arm32

第二步:获取GPG Key
不获取GPG KEY,安装部分软件会报“Error:GPG check FAILED”,当然也可以将gpgcheck=1改为gpgcheck=0去跳过校验,但是不建议。
获取GPG KEY有导入和下载两种方式,二选一即可。

1.导入

rpm --import https://www.centos.org/keys/RPM-GPG-KEY-CentOS-7
rpm --import https://www.centos.org/keys/RPM-GPG-KEY-CentOS-7-aarch64
rpm --import https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-AltArch-Arm32

2.下载

cd /etc/pki/rpm-gpg
wget https://www.centos.org/keys/RPM-GPG-KEY-CentOS-7
wget https://www.centos.org/keys/RPM-GPG-KEY-CentOS-7-aarch64
wget https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-AltArch-Arm32

第三步:参照解决方案2的步骤3,安装最新的Docker即可

2. fuse-overlayfs-0.7.2-6.el7_8.aarch64.rpm is not installed gpg key

该问题应该是GPG Key没有安装完全导致的。我采用了比较粗暴的解决方案,将CentOS-Base.repo [extras]源的gpgcheck=1改为gpgcheck=0,跳过GPG检测。

参考链接

CentOS GPG Key
CentOS ARM源参考
不完全的K8S和Docker版本对应
解决报错container-selinux >= 2:2.74 [x86_64]

12_Linux ARM架构_安装JDK8-银河麒麟V10(Kylin Linux Advanced Server V10 )操作系统

12_Linux ARM架构_安装JDK8-银河麒麟V10(Kylin Linux Advanced Server V10 )操作系统

大家好,我是星仔。本博客收录于《华星详谈-学习中心》。本学习中心收集了Java整个技术体系的所有技术要点。每篇博客后面或者知识点结尾都附带有面试题,提供给大家巩固本章内容。

为各位同胞们能够系统性的掌握整个Java技术体系而建立的学习中心。星仔正在努力的更新学习中心中的内容。望诸君共勉!!!

本博客是基于银河麒麟V10(Kylin Linux Advanced Server V10 (Tercel))操作系统环境下进行安装,故先去JDK官网上下载aarch64架构的jdk包。

1、官网下载aarch64架构jdk包

建议在windows服务器下下载好对应的包之后再上传上去。

官网下载地址https://www.oracle.com/java/technologies/downloads/#java8

选择RAM架构的包,进行下载

现在下载jdk包要先进行登录注册,要是没有注册的话填写下信息直接注册。

2、linux服务器中创建java文件夹,方便后期快速寻找

cd /usr/local/
mkdir java

3、将jdk包传输到Linux系统中的/usr/local/java目录下

一般本人使用的是xftp工具进行文件的上传

4、查看linux机器中是否有安装jdk8

一般的来说,新linux服务器都会默认安装有OpenJDK,此时我们需要先把他删除掉

java -version

5、查看java安装文件

rpm -qa|grep java

6、卸载OpenJDK

.noarch可以不用删除,其他通过rpm -qa|grep java命令查询的文件都删掉

rpm -e --nodeps java-11-openjdk-headless-11.0.6.10-4.ky10.ky10.aarch64
rpm -e --nodeps java-11-openjdk-11.0.6.10-4.ky10.ky10.aarch64
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.242.b08-1.h5.ky10.aarch64
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.242.b08-1.h5.ky10.aarch64

7、校验卸载OpenJDK是否成功

通过java -version 命令,如果没有出现java 的版本信息则说明已经卸载成功

[root@app--0002 java]# java -version
-bash: /usr/bin/java: 没有那个文件或目录

8、安装JDK8

8.1 解压下载好的tar.gz文件

tar -zxvf jdk-8u321-linux-aarch64.tar.gz

解压完成后

8.2 配置Java环境变量

/etc/profile文件的改变会涉及到系统的环境,也就是有关Linux环境变量的东西,所以我们要将jdk配置到/etc/profile,才可以在任何一个目录访问jdk。

首先执行以下命令,打开/etc/profile文件

vim /etc/profile

按i进入编辑,在profile文件尾部添加如下内容,其中JAVA_HOME为jdk的安装路径,我这里是/usr/local/java/jdk1.8.0_321路径下

export JAVA_HOME=/usr/local/java/jdk1.8.0_321
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export JAVA_PATH=$JAVA_HOME/bin:$JRE_HOME/bin
export PATH=$PATH:$JAVA_PATH


然后保存并退出编辑
首先按Esc,然后输入 :wq 进行保存并退出

最后通过命令source /etc/profile让profile文件立即生效

source /etc/profile

9、测试JDK 是否安装成功

java -version

以上是关于ARM架构下银河麒麟V10系统安装最新版本Docker的主要内容,如果未能解决你的问题,请参考以下文章

12_Linux ARM架构_安装JDK8-银河麒麟V10(Kylin Linux Advanced Server V10 )操作系统

arm64linux无法使用数据库

Linux ARM架构_安装JDK8-银河麒麟V10 Kylin Linux

Docker 搭建Ubuntu 16.0.4(银河麒麟V10) 构建环境

Linux operation 23Win 10 64位(X86 架构CPU)安装ARM架构的虚拟机(银河麒麟高级服务器操作系统 V10)

.NET 6应用程序适配国产银河麒麟V10系统随记