Aug 1, 2025 No Comments 银河麒麟V10 ARM64 离线安装 新版Docker ### 查询当前发行版本 ```bash nkvers ```  ### 下载最新版本 #### 卸载旧依赖 卸载已经安装的老版本 ```bash 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官方仓库 ```bash 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环境变量 ```bash echo "8" > /etc/yum/vars/centos_version cat /etc/yum/vars/centos_version ```  替换Repo配置文件中的变量 ```bash sed -i 's/$releasever/$centos_version/g' /etc/yum.repos.d/docker-ce.repo cat /etc/yum.repos.d/docker-ce.repo ```  更新yum仓库 ```bash yum makecache ```  #### 确定安装版本 安装 [docker 官方的安装方法 \[2\]](https://docs.docker.com/engine/install/centos/) 需要安装 + docker-ce + docker-ce-cli + containerd.io + docker-buildx-plugin + docker-compose-plugin  通过下面方式查询各软件的最细版本: ```bash yum list docker-ce --showduplicates | sort -r ```  ```bash yum list docker-ce-cli --showduplicates | sort -r ```  ```bash yum list docker-buildx-plugin --showduplicates | sort -r ```  ```bash yum list docker-compose-plugin --showduplicates | sort -r ```  创建离线安装包存储目录 `~/docker-rpm/` 当前用户下的docker-rpm/ ```bash mkdir -p /root/docker-rpm/ ```  #### 下载RPM安装包 下载镜像到本地,不安装 ```bash 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 ``` 也可以直接忽略版本下载最新版本即可 ```bash yum install --downloadonly --downloaddir=/root/docker-rpm/ docker-ce docker-ce-cli docker-buildx-plugin docker-compose-plugin ```  检查下载内容: ```bash ls -l /root/docker-rpm/ ```  ### 离线安装 卸载已经安装的老版本 ```bash 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 ```  将下载的资源复制需要安装的服务器上,进入离线安装包目录中。 ```bash cd /root/docker-rpm ls -l ```  离线安装所有依赖 ```bash rpm -Uvh --nodeps *.rpm ```  目前docker已经安装完成,但是未启动,查询docker版本,检查安装是否成功 ```bash docker -v ```  创建Docker数据存储路径。 ```bash mkdir -p /data/docker ls -l /data/docker/ ```  配置Docker数据存储路径,已经仓库镜像地址 ```bash cat > /etc/docker/daemon.json << EOF { "data-root": "/data/docker", "registry-mirrors": ["https://registry.docker-cn.com"] } EOF ``` ```bash cat /etc/docker/daemon.json ```  设置Docker开机自启动,并且启动docker ```bash systemctl enable docker systemctl start docker ```  查看运行状态 ```bash systemctl status docker ```  ### 故障解决 #### 设置为Systemd运行模式 调整 **/etc/docker/daemon.json** 文件 ```bash vi /etc/docker/daemon.json ``` 加入下面内容: ```json { "exec-opts": [ "native.cgroupdriver=systemd" ] } ``` ```bash cat /etc/docker/daemon.json ```  重启Docker ```bash systemctl restart docker ```  查看docker状态 ```bash docker info ```  #### 配置containerd开启 CRI 如果您准备使用Kubernets 运行部分命令时可能会出现 **validate service connection: validate CRI v1 image API for endpoin** 的错误 [\[4\]](https://www.cnblogs.com/yourstars/p/17572125.html)  请修改 **/etc/containerd/config.toml** 配置文件注释 `disabled_plugins = ["cri"]` ```bash vi /etc/containerd/config.toml ```  重启containerd ```bash systemctl restart containerd ```  ```bash systemctl status containerd ```  #### crictl 警告 1.28以后Kubernetes使用 containerd抽象了容器实现,并提供cri-tool操作容器。 ```bash crictl pods ``` 在执行crictl命令时可能会触发下面错误 **WARN\[0000\] runtime connect using default endpoints**  出现该错误原因是因为dockerd.sock与containerd同时存在,需要手动指定crictl使用的端点为containerd.sock ```bash cat < 最后更新于 2025-08-01 13:52:48 并被添加「」标签,已有 31 位童鞋阅读过。 本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
此处评论已关闭