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

Cliven_ 2024-08-10 16:07:07 阅读 77

查询当前发行版本

<code>nkvers

在这里插入图片描述

下载最新版本

卸载旧依赖

卸载已经安装的老版本

<code>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官方仓库

<code>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环境变量

<code>echo "8" > /etc/yum/vars/centos_version

cat /etc/yum/vars/centos_version

在这里插入图片描述

替换Repo配置文件中的变量

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

cat /etc/yum.repos.d/docker-ce.repo

在这里插入图片描述

更新yum仓库

<code>yum makecache

在这里插入图片描述

确定安装版本

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

docker-cedocker-ce-clicontainerd.iodocker-buildx-plugindocker-compose-plugin

在这里插入图片描述

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

<code>yum list docker-ce --showduplicates | sort -r

在这里插入图片描述

<code>yum list docker-ce-cli --showduplicates | sort -r

<code>yum list docker-buildx-plugin --showduplicates | sort -r

在这里插入图片描述

<code>yum list docker-compose-plugin --showduplicates | sort -r

在这里插入图片描述

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

mkdir -p /root/docker-rpm/

在这里插入图片描述

下载RPM安装包

下载镜像到本地,不安装

<code>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

也可以直接忽略版本下载最新版本即可

yum install --downloadonly --downloaddir=/root/docker-rpm/ docker-ce docker-ce-cli docker-buildx-plugin docker-compose-plugin

在这里插入图片描述

检查下载内容:

<code>ls -l /root/docker-rpm/

在这里插入图片描述

离线安装

卸载已经安装的老版本

<code>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

在这里插入图片描述

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

<code>cd /root/docker-rpm

ls -l

在这里插入图片描述

离线安装所有依赖

<code>rpm -Uvh --nodeps *.rpm

在这里插入图片描述

目前docker已经安装完成,但是未启动,查询docker版本,检查安装是否成功

<code>docker -v

在这里插入图片描述

创建Docker数据存储路径。

<code>mkdir -p /data/docker

ls -l /data/docker/

在这里插入图片描述

配置Docker数据存储路径,已经仓库镜像地址

<code>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

<code>systemctl enable docker

systemctl start docker

在这里插入图片描述

查看运行状态

<code>systemctl status docker

在这里插入图片描述

故障解决

设置为Systemd运行模式

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

<code>vi /etc/docker/daemon.json

加入下面内容:

{

"exec-opts": [ "native.cgroupdriver=systemd" ]

}

cat /etc/docker/daemon.json

在这里插入图片描述

重启Docker

<code>systemctl restart docker

在这里插入图片描述

查看docker状态

<code>docker info

在这里插入图片描述

配置containerd开启 CRI

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

在这里插入图片描述

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

vi /etc/containerd/config.toml

在这里插入图片描述

重启containerd

<code>systemctl restart containerd

在这里插入图片描述

<code>systemctl status containerd

在这里插入图片描述

crictl 警告

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

<code>crictl pods

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

WARN[0000] runtime connect using default endpoints

在这里插入图片描述

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

<code>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

在这里插入图片描述

<code>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



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。