1. 银河麒麟V10 SP2服务器版Docker离线安装指南
在国产化替代的大背景下,银河麒麟操作系统作为国产自主操作系统的代表,其服务器版本V10 SP2在企业级应用中越来越常见。而Docker作为当前最流行的容器化技术,在国产化环境中的部署需求也日益增长。本文将详细介绍在银河麒麟V10 SP2服务器版上离线安装Docker 20.10的全过程,包含依赖解决、配置优化等实战经验。
提示:本文基于银河麒麟V10 SP2服务器版(飞腾版)实测验证,同样适用于x86架构版本,安装前请确认系统架构匹配。
1.1 环境准备与前置检查
在开始安装前,需要做好以下准备工作:
- 系统版本确认:
cat /etc/kylin-release uname -m输出应显示"Kylin Linux Advanced Server release V10 SP2"及架构信息(aarch64或x86_64)
- 磁盘空间检查:
df -h /var建议/var分区至少保留5GB空间用于Docker存储
- 内核版本确认:
uname -rDocker 20.10要求内核版本3.10以上,银河麒麟V10 SP2默认满足
- 关闭防火墙(生产环境需按需配置规则):
systemctl stop firewalld systemctl disable firewalld1.2 离线安装包获取
由于是离线环境,需要提前下载以下RPM包(以aarch64架构为例):
Docker CE 20.10.17官方包:
- docker-ce-20.10.17-3.el7.aarch64.rpm
- docker-ce-cli-20.10.17-3.el7.aarch64.rpm
- containerd.io-1.6.6-3.1.el7.aarch64.rpm
依赖包:
- libcgroup-0.41-21.ky10.aarch64.rpm
- libseccomp-2.5.1-1.ky10.aarch64.rpm
- device-mapper-libs-1.02.177-3.ky10.aarch64.rpm
- socat-1.7.3.2-2.ky10.aarch64.rpm
注意:银河麒麟基于CentOS生态,但部分包需要专门适配版本,建议从官方镜像站或可信源获取。
2. 分步安装流程
2.1 依赖包安装
按依赖顺序安装基础组件:
rpm -ivh libseccomp-2.5.1-1.ky10.aarch64.rpm rpm -ivh device-mapper-libs-1.02.177-3.ky10.aarch64.rpm rpm -ivh libcgroup-0.41-21.ky10.aarch64.rpm rpm -ivh socat-1.7.3.2-2.ky10.aarch64.rpm常见问题处理:
- 若出现"already installed"提示,可添加
--replacefiles参数 - 依赖缺失时使用
rpm -qpR <package>.rpm查看具体依赖
2.2 Containerd安装
作为Docker的运行时组件,需优先安装:
rpm -ivh containerd.io-1.6.6-3.1.el7.aarch64.rpm配置containerd:
mkdir -p /etc/containerd containerd config default > /etc/containerd/config.toml修改关键配置:
[plugins."io.containerd.grpc.v1.cri".containerd] snapshotter = "overlayfs" disable_snapshot_annotations = true启动服务:
systemctl enable containerd systemctl start containerd2.3 Docker核心组件安装
按顺序安装主程序:
rpm -ivh docker-ce-cli-20.10.17-3.el7.aarch64.rpm rpm -ivh docker-ce-20.10.17-3.el7.aarch64.rpm验证安装:
docker --version应输出"Docker version 20.10.17..."
3. 配置与优化
3.1 基础配置调整
编辑配置文件/etc/docker/daemon.json:
{ "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m", "max-file": "3" }, "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true" ] }关键参数说明:
- cgroupdriver:与银河麒麟systemd兼容
- overlay2:银河麒麟推荐存储驱动
- 日志限制:避免日志膨胀
3.2 服务管理命令
启动Docker服务:
systemctl enable docker systemctl start docker验证运行状态:
systemctl status docker docker info | grep -i cgroup3.3 离线镜像加载
将提前导出的镜像包(如nginx.tar)加载:
docker load -i nginx.tar验证镜像:
docker images docker run --rm nginx:latest nginx -v4. 常见问题排查
4.1 安装阶段问题
问题1:依赖冲突现象:package xxx is already installed解决:
rpm -e --nodeps 冲突包名 rpm -ivh --replacepkgs 当前包名问题2:内核模块缺失现象:modprobe: FATAL: Module overlay not found解决:
echo "overlay" > /etc/modules-load.d/overlay.conf modprobe overlay4.2 运行阶段问题
问题1:cgroup报错现象:Failed to mount cgroup at /sys/fs/cgroup解决:
grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0" reboot问题2:存储驱动不兼容现象:storage-driver overlay2 is not supported解决:
- 确认内核版本
uname -r - 检查
/etc/docker/daemon.json配置 - 尝试
"storage-driver": "vfs"(性能较差)
4.3 性能优化建议
- 日志轮转配置:
journalctl --vacuum-size=100M- 限制容器资源:
docker run -it --cpus 1 --memory 1g nginx- 镜像清理策略:
docker system prune -af --filter "until=24h"5. 生产环境建议
5.1 安全加固措施
- 启用用户命名空间:
{ "userns-remap": "default" }- 禁用特权容器:
docker run --security-opt=no-new-privileges ...- 配置TLS远程连接:
openssl req -newkey rsa:4096 -nodes -sha256 \ -keyout ca.key -x509 -days 365 -out ca.crt5.2 离线仓库搭建
使用registry镜像创建本地仓库:
docker run -d -p 5000:5000 --restart=always \ -v /opt/registry:/var/lib/registry \ --name registry registry:2推送镜像到本地仓库:
docker tag nginx localhost:5000/nginx docker push localhost:5000/nginx5.3 监控方案
基础资源监控:
docker stats日志集中管理:
{ "log-driver": "syslog", "log-opts": { "syslog-address": "udp://192.168.1.100:514" } }在银河麒麟V10 SP2上稳定运行Docker的关键是确保内核兼容性和依赖完整性。实际部署中发现,飞腾架构下的容器性能损失约比x86环境高15-20%,建议在资源分配时预留足够余量。对于长期运行的容器,建议每周执行一次docker system prune维护。