银河麒麟V10 SP1 aarch64安装Docker CE双源与依赖冲突解决

发布时间:2026/10/24 23:12:47
银河麒麟V10 SP1 aarch64安装Docker CE双源与依赖冲突解决 简介面向在银河麒麟 V10 SP1 服务器版含 aarch64 环境上部署容器的运维与开发人员这份手册针对系统官方源缺少 Docker 软件包、直接安装容易受阻的难题给出可落地的源配置、安装顺序与排错参考。压缩包共 1 个 docx 文件约 17KB体积小巧便于本地随时查阅。内容从 yum 源配置讲起说明如何引入阿里 Docker CE 源和麒麟官方依赖源再按依赖顺序完成 docker-ce-cli、docker-ce 18.09.7 的安装、服务启动与版本检查并单独记录无法通过 yum 安装最新版 Docker 时的典型依赖报错、现象与原因分析。文档结构清晰按配置、安装、验证和注意事项组织可快速定位关键命令与报错信息。已有 7220 人学习下载适合需要快速在银河麒麟服务器上跑通 Docker、减少依赖冲突反复试错的中高级运维与信创环境实施人员参考。1. 银河麒麟 V10 SP1 装 Docker先放弃“装最新版”再谈安装一台 aarch64 架构的银河麒麟 V10 SP1 Server 摆到面前交付要求容器化跑服务人坐下来第一件事就是yum install docker-ce。十几秒后终端甩回来一句nothing provides container-selinux 2:2.74 needed by docker-ce-3:20.10.17-3.el7.aarch64底下还贴心地建议加--skip-broken或--nobest。网络没问题源也没写错问题出在依赖供给上游把 container-selinux 的门槛抬到了 2.74而麒麟这边能给出的还是 2.73 那一档。这条路上能确定落地的版本是docker-ce-18.09.7-3.el7不是 20.10也不是 19.03。整套动作分四步走docker-ce 源和麒麟本地源各配一处元数据清干净重建先 cli 后主包按精确版本号装最后启动并做三项校验。适合两类人看——第一次在麒麟 aarch64 上落容器的交付工程师以及已经装过但卡在依赖解析、版本被悄悄替换、服务起不来这几处的熟手。注意不要按报错提示加--skip-broken硬装。跳过依赖检查装上去的 20.10systemd 拉起 docker.service 时照样会因为 SELinux 上下文对不上挂掉等于把安装期的问题拖成运行期的问题。2. 双源配置docker-ce 源供主包麒麟源补依赖装 Docker 这件事在麒麟上不是“一条命令”的量级第一步得先把包从哪儿来这件事想清楚。整个安装过程能不能成八成取决于两个 repo 文件写得对不对一个负责把 docker-ce 系的二进制拉进来另一个负责兜住这些二进制运行时所依赖的系统级组件。两个源缺一个yum 都会在依赖解析阶段把事务整体回滚报出来的错还往往指向别的地方让人白绕一大圈。2.1 为什么麒麟自带源里搜不到 docker server 包银河麒麟 V10 SP1 Server 的官方仓库里能搜到 podman、buildah、skopeo 这一套但yum search docker-ce是搜不出东西的。原因不是源写错了是 Docker 从 18.09 之后就没有再以“发行版官方仓库包”的身份进入国产发行版的分发链路上游只为 CentOS/RHEL 7 出 aarch64 的构建麒麟的仓库里自然只维护自家那套容器工具。所以路径只有一条引入一个承载 docker-ce 的第三方 yum 源。麒麟 V10 的 glibc、rpm、内核 ABI 跟 el7 系列保持兼容docker-ce 的 el7 构建能在这台机器上落地但这是“能装”不等同于“官方支持”。把这个前提立住后面对版本卡得这么死就不会觉得意外了——你是在用一个兼容层跑别人的包能选的版本集合本来就不是全集。选型上还有一个岔路走源码编译或者拿静态二进制。对交付场景我一般不推荐静态二进制没有 systemd unit、没有 yum 的依赖追踪、升级和回滚全靠手工记装一次两次没问题机器一多就是灾难。yum 这条路虽然有版本天花板但至少有包管理和可复现性。2.2 写 docker-ce.repo$basearch到底解析成什么仓库文件的落点是/etc/yum.repos.d/docker-ce.repo。注意这个目录名是yum.repos后面加个d不是yum.repos。手册原文里有一处写成了/etc/yum.repos./kylin_aarch64.repo照着打字会创建出一个 yum 根本不读的目录配完一脸茫然。# 改动前留个后悔药出问题能整目录回滚 cp -a /etc/yum.repos.d /etc/yum.repos.d.bak.$(date %F) # 确认架构$basearch 最终就靠它解析 uname -muname -m在麒麟 aarch64 上输出aarch64在 x86_64 机器上是x86_64。yum 解析 baseurl 时会把$basearch替换成这个值替换关系也可以显式写在/etc/yum/vars/basearch文件里但一般不用动它。cat /etc/yum.repos.d/docker-ce.repo EOF [docker-ce-stable] nameDocker CE Stable - 7 # MIRROR_HOST 换成你环境里可达的 docker-ce 镜像域名 # 路径段 /docker-ce/linux/centos/7/$basearch/stable 是固定结构整段不要改 baseurlhttps://MIRROR_HOST/docker-ce/linux/centos/7/$basearch/stable enabled1 gpgcheck1 gpgkeyhttps://MIRROR_HOST/docker-ce/linux/centos/gpg EOF这里有两个容易翻车的点。EOF里的单引号不能省——带了单引号heredoc 内容才会原样写入$basearch留到 yum 解析时再展开写成EOF的话当前 shell 会先把$basearch展开成空字符串写进文件的 baseurl 断了一截后面 makecache 一路 404。第二点是路径里的centos/7这指的是包的 ABI 目标而不是要求你的系统必须叫 CentOS 7麒麟 V10 的 aarch64 机器读这个路径是正确的。参数逐条过一遍。name只是给人看的标签随便写baseurl必须指向一个含 repodata 目录的地址判断标准是curl -I baseurl/repodata/repomd.xml能返回 200enabled1表示默认参与解析gpgcheck1打开签名校验gpgkey给的是公钥地址第一次执行 yum 时会自动下载并导入 rpm 数据库。如果目标机 CA 证书太老、拉公钥时 TLS 握手失败第 4 章有单独的处理办法。2.3 kylin_aarch64.repo 的角色依赖包的后路docker-ce 主包不是孤立的它依赖 docker-ce-cli、containerd.io、libcgroup、libseccomp 一长串东西其中一部分镜像站的 docker-ce 仓库里带着另一部分得回系统自己的源里找。麒麟官方源这一份配置干的就是这个活。cat /etc/yum.repos.d/kylin_aarch64.repo EOF [ks10-os-media] name Kylin Linux Advanced Server 10 - Os baseurl http://archive.kylinos.cn/yum/v10/sp1-openstack-q/aarch64/os/ gpgcheck 0 enabled 1 EOFbaseurl指向 v10/sp1 这条发布线的 aarch64 目录末尾带不带斜杠都行带上更稳。gpgcheck 0是手册给的写法含义是不校验这个源的签名原因是麒麟的源公钥未必在每台交付机上都能拿到。能拿到公钥的环境把 gpgcheck 改成 1 再补一行 gpgkey 是更好的做法等于多一道防篡改。enabled 1让这个源默认参与解析。文件名叫什么其实无所谓麒麟本身也可能已经预置了一份指向内网镜像的仓库文件。装之前先ls /etc/yum.repos.d/看一眼重复的源会让同一个包在两个仓库里报不同版本yum 的元数据缓存反复失效报错还特别没头绪。2.4 生效验证三条自检一次过配置写完不验证后面安装报错时分不清是源没生效还是包名写错。按顺序走三步。# 第一步清缓存重建让新写的仓库文件生效 yum clean all yum makecache # 第二步确认两个仓库都被识别没有一方被 disabled yum repolist -v 2/dev/null | grep -E docker-ce-stable|ks10-os-mediayum clean all清的是 /var/cache/yum 下的元数据和包缓存yum makecache重新从 baseurl 拉 repodata。这两步不做yum 可能还在用几天前的仓库快照表现就是配了新源却找不到包。# p a hrefhttps://download.csdn.net/download/u013930899/86507251 stylecolor:#ec7500;font-size:14px; 本文还有配套的精品资源点击获取 /a img altmenu-r.4af5f7ec.gif srchttps://csdnimg.cn/release/wenkucmsfe/public/img/menu-r.4af5f7ec.gif stylewidth:16px;margin-left:4px;vertical-align:text-bottom;cursor:text; /p