当前位置: 首页 > news >正文

保姆级教程:在银河麒麟V10 SP3 ARM64服务器上,用yum downloadonly搞定Docker 26.1离线安装包

银河麒麟V10 SP3 ARM64服务器离线部署Docker 26.1全攻略

在国产化替代浪潮中,银河麒麟V10 SP3作为主流国产操作系统,其ARM64架构服务器在政企、金融等关键领域应用广泛。当这些服务器部署在内网或隔离环境中时,如何安全高效地完成Docker这类基础组件的离线安装,成为运维人员必须掌握的硬核技能。本文将手把手教你用yum downloadonly这一利器,构建完整的Docker 26.1离线安装方案。

1. 环境准备与架构适配

1.1 确认系统环境

在开始前,需要准备两台机器:一台能连接外网的跳板机(与目标服务器同架构),以及最终部署的目标服务器。首先在跳板机执行:

# 查看系统版本和架构 nkvers uname -m

输出示例

Kylin Linux Advanced Server release V10 (Tercel) aarch64

关键点:必须确保跳板机与目标服务器的银河麒麟版本完全一致(如都是SP3),且同为ARM64架构。x86_64的RPM包无法在ARM平台运行。

1.2 清理旧版本Docker

若目标服务器曾安装过Docker,需先彻底卸载以避免冲突:

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

注意:生产环境中建议先确认卸载操作不会影响现有容器服务,必要时备份/var/lib/docker目录。

2. 构建离线安装仓库

2.1 配置Docker官方源

由于Docker官方未提供银河麒麟专属仓库,需要适配CentOS 8的源:

# 安装必要工具 yum install -y yum-utils # 添加Docker官方仓库 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 适配银河麒麟V10 SP3 echo "8" > /etc/yum/vars/centos_version sed -i 's/$releasever/8/g' /etc/yum.repos.d/docker-ce.repo

2.2 版本锁定策略

ARM架构下依赖关系复杂,建议明确指定版本号而非使用latest:

# 查询可用版本 yum list docker-ce --showduplicates | sort -r | grep aarch64

典型输出

docker-ce.aarch64 3:26.1.0-1.el8 docker-ce-stable docker-ce.aarch64 3:25.0.5-1.el8 docker-ce-stable

记录所需版本的完整名称(如docker-ce-3:26.1.0-1.el8),后续下载时需精确匹配。

3. 离线包下载与验证

3.1 核心组件下载

创建存储目录并下载所有依赖:

mkdir -p /root/docker-offline yum install --downloadonly --downloaddir=/root/docker-offline \ 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 \ containerd.io

常见问题:若出现No match for argument错误,可能是架构不匹配,确认包名中包含aarch64而非x86_64

3.2 依赖完整性检查

使用repoquery工具验证依赖树:

yum install -y yum-utils repoquery --requires --resolve docker-ce-3:26.1.0-1.el8 | sort -u

对比已下载的RPM包:

ls /root/docker-offline | wc -l repoquery --requires --resolve docker-ce | wc -l

若数量差异较大,可能需要手动补充缺失依赖。

4. 离线部署实战

4.1 传输与安装

将打包的docker-offline目录拷贝到目标服务器后:

# 批量安装所有RPM(忽略依赖检查) rpm -ivh --nodeps /root/docker-offline/*.rpm # 验证安装 docker --version

重要提示:在企业内网中,建议使用安全的传输方式如加密USB或专用摆渡机,避免直接通过网络传输。

4.2 存储与镜像配置

为Docker配置独立数据目录:

mkdir -p /data/docker cat > /etc/docker/daemon.json <<EOF { "data-root": "/data/docker", "exec-opts": ["native.cgroupdriver=systemd"], "registry-mirrors": ["https://your-internal-mirror"] } EOF

参数说明

  • >systemctl enable --now docker docker info | grep -E 'Cgroup Driver|Registry Mirrors'

    遇到cgroup驱动报错时,检查/etc/docker/daemon.json中的exec-opts配置是否正确加载。

    5. 高阶调优与排错

    5.1 containerd集成配置

    当需要与Kubernetes集成时,需调整containerd配置:

    mkdir -p /etc/containerd containerd config default > /etc/containerd/config.toml sed -i 's/disabled_plugins = \["cri"\]/# disabled_plugins = ["cri"]/' /etc/containerd/config.toml systemctl restart containerd

    5.2 crictl工具配置

    创建/etc/crictl.yaml文件解决端点警告:

    runtime-endpoint: unix:///run/containerd/containerd.sock image-endpoint: unix:///run/containerd/containerd.sock timeout: 10 debug: false

    验证容器运行时接口:

    crictl ps

    5.3 离线镜像加载方案

    对于需要预置基础镜像的场景:

    # 在联网环境导出镜像 docker pull alpine:latest docker save -o alpine.tar alpine:latest # 在目标服务器加载 docker load -i alpine.tar

    建议将常用镜像(如busybox、nginx)一并打包到离线安装介质中。

http://www.zskr.cn/news/1451456.html

相关文章:

  • 建筑平台JS逆向
  • STM32F407调试神器:用CubeMX+Keil5快速搞定串口printf打印(避坑指南)
  • 数据科学实战:从问题定义到成果展示的完整项目流程解析
  • Matlab一键运行的PSO优化BP神经网络回归预测工具包(含示例数据与全流程可视化)
  • 保姆级教程:用UE5材质系统手搓一个下雨天水坑的真实涟漪(附完整节点图)
  • 抖音直播数据抓取神器:5分钟快速上手实时弹幕监控工具
  • FastJson2.0.49 + Spring 6整合指南:手把手配置HttpMessageConverter(附常见错误排查)
  • 如何用Pulover‘s Macro Creator实现Windows自动化:完全指南
  • Elsevier Tracker:科研投稿状态追踪的实用指南
  • 为什么说Qwen-Image-Edit-Rapid-AIO是AI图像编辑的革命性突破?3步解锁专业级创作
  • AI Agent 面试题 907:如何设计Agent在特定行业的安全审计机制?
  • Windows/Mac上Anaconda Navigator启动失败的保姆级修复指南(2024最新)
  • Unity性能优化:别再滥用material了!sharedMaterial和material的内存陷阱与实战避坑
  • 2026年比较好的塑料模具/六角模具/护坡模具用户口碑推荐厂家 - 品牌宣传支持者
  • YOLOv5项目实战:让检测框‘说中文’——从数据标注到模型部署的全流程详解
  • 告别重复代码!用Vue3+TS给Uniapp项目封装一个像axios一样好用的uni.request
  • 开源维护者植入“删除代码”指令抗议AI,引发全网争议!
  • 如何轻松备份和深度分析微信聊天记录?WeChatMsg实用指南帮你完整掌控社交数据
  • 告别电源噪声!手把手教你用MP2307+SGM3209搭建运放专用±5V低噪声电源
  • 2026年最被低估的AI职业:成为企业“AI推手“,让技能落地并收藏!
  • 【Agent智能体17 | 工具使用-MCP协议】
  • 2026年热门的厚铜高多层线路板/盲埋孔高多层线路板口碑好的厂家推荐 - 品牌宣传支持者
  • 一键部署私人 LLM:Ollama + Docker 极简指南
  • 2026年知名的工业供水原水净化/无锡工业供水系统设备公司哪家好 - 行业平台推荐
  • 2026年评价高的无锡工业供水浓水零排/工业供水除盐处理/工业供水原水净化主流厂家对比评测 - 品牌宣传支持者
  • 一套开源代码的能碳治理实践:MyEMS 数据建模引擎的架构设计思路
  • Windows Server 2022下,手把手配置华为OceanStor存储的iSCSI连接(含MPIO多路径避坑指南)
  • 2026年知名的MIM金属注射成型零件/中山MIM粉末冶金用户口碑推荐厂家 - 行业平台推荐
  • Claude Code 100个真实案例 - 用AI搭建农业物联网监测平台(土壤+气象+作物)
  • 3PEAK思瑞浦 TPA6581-DF0R DFN0.8X0.8-4 运算放大器