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

查询当前发行版本

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_version

cat /etc/yum/vars/centos_version

在这里插入图片描述

替换Repo配置文件中的变量

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

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

在这里插入图片描述

更新yum仓库

yum makecache

在这里插入图片描述

确定安装版本

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

  • docker-ce
  • docker-ce-cli
  • containerd.io
  • docker-buildx-plugin
  • docker-compose-plugin

在这里插入图片描述

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

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

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

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

在这里插入图片描述

检查下载内容:

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

ls -l

在这里插入图片描述

离线安装所有依赖

rpm -Uvh --nodeps *.rpm

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

docker -v

在这里插入图片描述

创建Docker数据存储路径。

mkdir -p /data/docker

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

<think>好的,用户的问题是关于在离线环境下,在银河麒麟系统V10 ARM版本上安装Docker。首先,我需要确认用户的需求:他们已经有了系统,但是无法联网,需要离线安装。根据用户提供的引用内容,引用[1]和引用[2]都提到了相关的安装步骤和资源。 首先,我需要回忆银河麒麟V10 ARM架构的特点,确保Docker的版本兼容性。用户提到引用的资源是docker19.03.6的ARM版本,所以需要确认这个版本是否适用于他们的系统。然后,用户已经下载了离线安装包,可能需要检查安装包的完整性,比如MD5或SHA256校验。 接下来,安装步骤可能包括安装依赖包。离线环境下,用户需要提前下载所有依赖的deb包,这可能包括containerd、docker-ce-cli等。需要确保这些依赖包与Docker版本兼容,并且适用于ARM架构。 然后,安装Docker的deb包,使用dpkg命令。安装完成后,启动Docker服务,并设置开机自启。用户之前可能遇到安装完成但服务未启动的情况,所以需要明确提醒启动服务的命令,如systemctl start docker,并验证状态。 另外,用户可能需要将当前用户加入docker组,以便无需sudo运行docker命令,这一步也是需要注意的,避免权限问题。 在问题解答中,要分步骤说明,确保清晰。同时,用户可能遇到的问题包括依赖缺失、安装包损坏、服务启动失败等,需要给出排查建议,比如使用dpkg -i安装依赖,使用md5sum检查文件完整性,查看日志等。 最后,生成相关问题,帮助用户进一步了解可能遇到的后续问题,比如版本升级、镜像导入、服务故障处理等。这些问题需要基于常见的Docker管理任务,确保覆盖用户可能的需求。 需要确保回答中的命令准确,特别是针对ARM架构的注意事项,避免直接复制x86的命令。同时,引用标记要正确对应,引用[1]和引用[2]的内容要正确关联到步骤中的具体部分,比如安装完成后的验证步骤引用[1],Docker的作用引用[2]。 总结来说,回答需要结构清晰,步骤详细,涵盖准备、安装、验证和问题排查,同时提供相关问题引导用户进一步学习。</think>### 离线安装Docker步骤详解(银河麒麟V10 ARM64) #### 1. **准备离线安装包** - 从可靠来源获取适配**ARM架构**的Docker离线安装包(如`docker-ce_19.03.6~3-0~kylin-b1_arm64.deb`)[^2]。 - 下载依赖包:`containerd`、`docker-ce-cli`等,确保版本与Docker主包兼容。 #### 2. **安装依赖环境** ```bash # 手动安装依赖包(需提前下载至本地) sudo dpkg -i containerd_*.deb docker-ce-cli_*.deb ``` #### 3. **安装Docker主包** ```bash sudo dpkg -i docker-ce_19.03.6~3-0~kylin-b1_arm64.deb ``` #### 4. **验证安装** ```bash docker -v # 输出应为"Docker version 19.03.6" [^1] ``` #### 5. **启动Docker服务** ```bash sudo systemctl start docker # 启动服务 sudo systemctl enable docker # 设置开机自启 sudo systemctl status docker # 检查运行状态 ``` #### 6. **配置用户权限(可选)** ```bash sudo usermod -aG docker $USER # 将当前用户加入docker组 newgrp docker # 刷新用户组权限 ``` #### 7. **离线导入镜像(后续操作)** ```bash docker load < image.tar.gz # 加载离线镜像文件 ``` #### 常见问题排查 - **依赖缺失**:若安装报错,使用`sudo apt --fix-broken install`修复依赖。 - **服务启动失败**:检查日志`journalctl -u docker.service`。 - **安装包损坏**:验证MD5值(如`md5sum docker-ce_*.deb`)。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值