银河麒麟系统部署docker有五种方法:一、yum源在线安装;二、离线静态二进制包安装(推荐arm64);三、离线rpm包安装(适配sp2/sp3);四、配置国内镜像加速;五、arm64特异性验证。

如果您在银河麒麟操作系统上需要部署Docker容器运行环境,但系统未预装或安装失败,则可能是由于架构识别错误、软件源缺失或服务配置不完整所致。以下是针对麒麟OS(含V10 SP1/SP2/SP3及ARM64/x86_64双架构)的多种可靠安装方法:
一、YUM源在线安装(适用于联网且已配置兼容仓库的Kylin V10)
该方法依赖系统已正确配置适配CentOS 8或麒麟官方软件源,通过包管理器自动解决依赖并完成服务注册,适合网络通畅、系统版本较新且未做深度安全加固的环境。
1、卸载可能存在的旧版Docker及其残留组件
2、执行清理命令:sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
3、安装yum-utils工具并添加Docker官方仓库
4、运行:sudo yum install -y yum-utils
5、执行:sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
6、强制指定CentOS版本变量以匹配麒麟V10内核兼容性
7、运行:echo "8" | sudo tee /etc/yum/vars/centos_version
8、安装Docker CE核心组件
9、执行:sudo yum install -y docker-ce docker-ce-cli containerd.io
10、启动并设为开机自启
11、运行:sudo systemctl start docker && sudo systemctl enable docker
12、验证安装结果
13、执行:docker version 与 systemctl status docker 确认服务状态和客户端/服务端版本一致
二、离线静态二进制包安装(推荐用于生产环境及ARM64鲲鹏服务器)
该方式绕过包管理器,直接部署Docker官方发布的跨架构二进制文件,完全规避源兼容性问题,适用于断网、国产化信创环境及aarch64架构(如鲲鹏920处理器)。
1、确认CPU架构
2、运行:uname -m 输出应为 aarch64 或 x86_64
3、下载对应架构的Docker静态包(例如Docker 24.0.7-arm64.tar.gz或Docker 28.3.1-x86_64.tar.gz)
4、解压至临时目录:tar -xzvf docker-*.tar.gz
5、将全部可执行文件复制至系统路径
6、运行:sudo cp docker/* /usr/bin/
7、创建systemd服务单元文件
8、执行:sudo vim /usr/lib/systemd/system/docker.service
9、填入标准服务定义(含ExecStart=/usr/bin/dockerd、Type=notify、Restart策略等)
10、重载systemd配置
11、运行:sudo systemctl daemon-reload
12、启用并启动服务
13、执行:sudo systemctl enable docker && sudo systemctl start docker
14、验证二进制完整性
15、运行:docker -v 应返回版本号,which dockerd 应指向 /usr/bin/dockerd
三、离线RPM包安装(适用于麒麟V10 SP2/SP3官方适配版本)
该方案使用麒麟软件中心或麒麟生态提供的预编译RPM包,已通过Kylin OS签名认证,集成SELinux策略与cgroup v2适配,适合对合规性要求高的政务或金融行业部署场景。
1、获取麒麟OS专用Docker RPM包(如docker-ce-20.10.24-3.ky10.aarch64.rpm)
2、校验包签名:rpm -K docker-ce-*.rpm
3、安装RPM包并忽略依赖警告(因麒麟系统部分基础库路径与标准CentOS不同)
4、运行:sudo rpm -ivh --nodeps docker-ce-*.rpm
5、手动创建Docker组并加入当前用户
6、执行:sudo groupadd docker && sudo usermod -aG docker $USER
7、重启dbus与systemd-logind服务以刷新组权限
8、运行:sudo systemctl restart dbus && sudo systemctl restart systemd-logind
9、启动Docker守护进程
10、执行:sudo systemctl start docker
11、验证非root用户容器运行能力
12、运行:docker run --rm hello-world 应输出欢迎信息且无permission denied报错
四、镜像加速与基础运行时配置
无论采用何种安装方式,均需配置国内镜像源以保障后续拉取镜像的可用性,尤其在麒麟OS默认未配置registry-mirrors的情况下,否则将出现timeout或403错误。
1、创建Docker守护进程配置目录
2、运行:sudo mkdir -p /etc/docker
3、编写daemon.json配置文件
4、执行:sudo vim /etc/docker/daemon.json
5、填入包含至少两个国内镜像源的JSON内容,例如:
6、{ "registry-mirrors": ["https://docker.m.daocloud.io", "https://mirror.ccs.tencentyun.com"], "exec-opts": ["native.cgroupdriver=systemd"] }
7、重新加载Docker守护进程配置
8、运行:sudo systemctl restart docker
9、验证镜像源生效
10、执行:sudo docker info | grep 'Registry Mirrors' -A 1 应显示已配置的镜像地址列表
五、ARM64架构特异性验证步骤
在鲲鹏、飞腾等国产ARM服务器上完成Docker安装后,必须验证容器运行时是否真正适配aarch64指令集,避免因QEMU模拟导致性能损失或兼容性故障。
1、拉取ARM64原生镜像
2、运行:docker pull --platform linux/arm64 ubuntu:22.04
3、检查镜像架构标识
4、执行:docker inspect ubuntu:22.04 | grep Architecture 输出应为 arm64
5、运行ARM64容器并进入交互模式
6、执行:docker run -it --rm ubuntu:22.04 uname -m
7、确认终端输出为 aarch64 而非 x86_64
8、测试国产化中间件镜像兼容性
9、运行:docker run -it --rm registry.cn-hangzhou.aliyuncs.com/kylinos/kylin-v10-sp3:latest cat /etc/os-release
10、输出中应包含 ID="kylin" 与 ARCHITECTURE="aarch64"










