银河麒麟V10 ARM64 离线安装 新版Docker

devtools/2024/9/23 14:57:37/

查询当前发行版本

nkvers

在这里插入图片描述

下载最新版本

卸载旧依赖

卸载已经安装的老版本

yum remove docker \containerd.io \docker-runc \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine \docker-compose-plugin \docker-buildx-plugin

在这里插入图片描述

YUM仓库设置

添加Docker官方仓库

yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

在这里插入图片描述

由于 Docker官方只托管CentOS RPM源,银河麒麟V10 SP3 可以等价CentOS 8,我们替换一下仓库配置

创建yum环境变量

echo "8" > /etc/yum/vars/centos_versioncat /etc/yum/vars/centos_version

在这里插入图片描述

替换Repo配置文件中的变量

sed -i 's/$releasever/$centos_version/g' /etc/yum.repos.d/docker-ce.repocat /etc/yum.repos.d/docker-ce.repo

在这里插入图片描述

更新yum仓库

yum makecache

在这里插入图片描述

确定安装版本

安装 docker 官方的安装方法 [2] 需要安装

在这里插入图片描述

通过下面方式查询各软件的最细版本:

yum list docker-ce --showduplicates | sort -r

在这里插入图片描述

yum list docker-ce-cli --showduplicates | sort -r

yum list docker-buildx-plugin --showduplicates | sort -r

在这里插入图片描述

yum list docker-compose-plugin --showduplicates | sort -r

在这里插入图片描述

创建离线安装包存储目录 ~/docker-rpm/ 当前用户下的docker-rpm/

mkdir -p /root/docker-rpm/

在这里插入图片描述

下载RPM安装包

下载镜像到本地,不安装

yum install --downloadonly --downloaddir=/root/docker-rpm/ \docker-ce-3:26.1.0-1.el8 \docker-ce-cli-1:26.1.0-1.el8 \docker-buildx-plugin-0.14.0-1.el8 \docker-compose-plugin-2.6.0-3.el8

在这里插入图片描述

检查下载内容:

ls -l /root/docker-rpm/

在这里插入图片描述

离线安装

卸载已经安装的老版本

yum remove docker \containerd.io \docker-runc \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine \docker-compose-plugin \docker-buildx-plugin

在这里插入图片描述

将下载的资源复制需要安装的服务器上,进入离线安装包目录中。

cd /root/docker-rpmls -l

在这里插入图片描述

离线安装所有依赖

rpm -Uvh --nodeps *.rpm

在这里插入图片描述
目前docker已经安装完成,但是未启动,查询docker版本,检查安装是否成功

docker -v

在这里插入图片描述

创建Docker数据存储路径。

mkdir -p /data/dockerls -l /data/docker/

在这里插入图片描述
配置Docker数据存储路径,已经仓库镜像地址

cat > /etc/docker/daemon.json << EOF
{"data-root": "/data/docker","registry-mirrors": ["https://registry.docker-cn.com"]
}
EOF
cat /etc/docker/daemon.json

在这里插入图片描述

设置Docker开机自启动,并且启动docker

systemctl enable docker
systemctl start docker

在这里插入图片描述
查看运行状态

systemctl status docker

在这里插入图片描述

故障解决

设置为Systemd运行模式

调整 /etc/docker/daemon.json 文件

vi /etc/docker/daemon.json

加入下面内容:

{"exec-opts": [ "native.cgroupdriver=systemd" ]
}
cat /etc/docker/daemon.json

在这里插入图片描述
重启Docker

systemctl restart docker

在这里插入图片描述

查看docker状态

docker info 

在这里插入图片描述

配置containerd开启 CRI

如果您准备使用Kubernets 运行部分命令时可能会出现 validate service connection: validate CRI v1 image API for endpoin 的错误 [4]

在这里插入图片描述

请修改 /etc/containerd/config.toml 配置文件注释 disabled_plugins = ["cri"]

vi /etc/containerd/config.toml

在这里插入图片描述

重启containerd

systemctl restart containerd

在这里插入图片描述

systemctl status containerd

在这里插入图片描述

crictl 警告

1.28以后Kubernetes使用 containerd抽象了容器实现,并提供cri-tool操作容器。

crictl pods

在执行crictl命令时可能会触发下面错误

WARN[0000] runtime connect using default endpoints
在这里插入图片描述

出现该错误原因是因为dockerd.sock与containerd同时存在,需要手动指定crictl使用的端点为containerd.sock

cat <<EOF | sudo tee /etc/crictl.yaml
runtime-endpoint: unix:///run/containerd/containerd.sock
image-endpoint: unix:///run/containerd/containerd.sock
timeout: 10
debug: false
EOF

在这里插入图片描述

crictl pods

在这里插入图片描述

参考文献

[1]. 博客园 . klvchen . 银河麒麟V10服务器版安装新版 Docker . 2023.3.3 . https://www.cnblogs.com/klvchen/p/17175673.html
[2]. docker . Install Docker Engine on CentOS . 2024.4 . https://docs.docker.com/engine/install/centos/
[3]. 博客园 . yanjieli . Linux-yum只下载不安装 2019.4 . https://www.cnblogs.com/yanjieli/p/10725360.html
[4]. 博客园 . K8S初始化报错:CRI v1 runtime API is not implemented for endpoint “unix:///var/run/containerd/containerd.sock” . Boom__Clap . 2023.7 . https://www.cnblogs.com/yourstars/p/17572125.html
[5]. CSDN . 记录解决containerd安装K8S出现“As the default settings are now deprecated, you should set the endpoint inste” . LEndorphin . 2022.10 . https://blog.csdn.net/weixin_50636665/article/details/127157337


http://www.ppmy.cn/devtools/23866.html

相关文章

隧道智能巡检机器人:科技助力隧道维护与管理

在现代社会&#xff0c;隧道已经成为城市、交通网络和基础设施的重要组成部分。尽管如此&#xff0c;隧道的安全运营和维护仍然存在着各种挑战。传统的隧道巡查方式主要依赖于人工巡检&#xff0c;但这种方式存在诸多问题&#xff0c;如工作负荷大、检测标准不统一、效率低下、…

【Vue】Pdf转图片功能+多张图片拼接封装

Pdf转图片功能多张图片拼接封装 HTML页面tools.js文件 HTML页面 <template><div class"main-marge"><div class"box"><van-uploader accept"image/*,.pdf" :before-read"(file) > beforeRead(file, -1)">…

Linux基本指令(3)

目录 时间相关的指令&#xff1a; 1.在显示方面&#xff0c;使用者可以设定欲显示的格式&#xff0c;格式设定为一个加好后接数个标记&#xff0c;其中常用的标记列表如下&#xff1a; 2.在设定时间方面&#xff1a; 3.时间戳&#xff1a; Cal指令&#xff1a; find指令&a…

php7.4在foreach中对使用数据使用无法??[]判读,无法使用引用传递

代码如下图&#xff1a;这样子在foreach中是无法修改class_history的。正确的应该是去掉??[]判断。 public function actionY(){$array [name>aaa,class_history>[[class_name>一班,class_num>1],[class_name>二班,class_num>2]]];foreach ($array[class_…

解析vue.config.js文件

一、用途 创建 Vue 项目时&#xff0c;默认情况下是没有 vue.config.js 文件的。Vue CLI 会提供一组默认的配置&#xff0c;用于构建和开发项目&#xff0c;这些配置在内部被封装好了&#xff0c;并不需要用户手动创建 vue.config.js 文件来进行配置。通过在项目根目录下创建 …

Stable Diffusion 常用放大算法详解

常用放大算法 图像放大算法大致有两种: 传统图像放大算法(Lantent、Lanczos、Nearest)AI图像放大算法(4x-UltraSharp、BSRGAN、ESRGAN等)传统图像放大算法是基于插值算法,计算出图像放大后新位置的像素值。AI图像放大算法,比一般的传统图像放大算法效果更好。 推荐放大…

数之寻软件怎么样?

数之寻软件是一款功能强大的数据恢复和备份软件&#xff0c;以下是对其特点和功能的详细评价&#xff1a; 一、数据恢复方面&#xff1a; 高效的数据恢复能力&#xff1a;数之寻软件采用了先进的算法和数据恢复技术&#xff0c;能够快速有效地恢复丢失或损坏的数据。无论是文…

Docker深入探索:网络与资源控制、数据管理与容器互联以及镜像生成

目录 一、 Docker网络 &#xff08;一&#xff09;Docker网络实现原理 &#xff08;二&#xff09;Docker网络模式 1. Bridge网络&#xff08;默认&#xff09; 2. Host网络 3. None网络 4. Container网络 5. 自定义网络 二、资源控制 &#xff08;一&#xff09;cgr…