麒麟V10离线安装Docker
在国产化替代加速推进的当下,越来越多政企单位开始部署搭载麒麟V10操作系统的服务器,涵盖arm64、x86_64两种主流架构。这类服务器常应用于涉密项目、内部研发等无外网访问权限的场景,如何在完全隔离的内网环境中,快速、稳定地部署Docker及验证环境(本文以Redis为例),成为很多运维人员面临的难题。
常规外网环境中,docker pull redis 即可轻松获取镜像并部署,但不同架构的麒麟V10服务器无法直接拉取非对应架构的默认镜像,且内网环境无法在线下载依赖和镜像,导致部署过程坑点重重。本文将从Docker离线安装入手,兼顾arm64、x86_64两种架构,手把手带你完成麒麟V10环境下Docker离线部署、Redis镜像离线获取与加载、容器启动与环境验证的全流程,兼顾实用性与安全性,确保新手也能跟着操作落地,Redis仅作为Docker环境部署完成后的验证工具,无需复杂配置。
一、前置说明:环境与核心思路
1.1 环境确认
本次操作针对 麒麟V10操作系统(含arm64/x86_64两种架构,arm64即aarch64,x86_64即x86),目标服务器为无外网访问权限的内网服务器。操作前需准备两台机器,且中转站机器架构建议与目标服务器一致(避免镜像架构不兼容):
目标服务器:内网麒麟V10(arm64或x86_64),用于最终部署Docker和Redis(环境验证);
中转站机器:能访问外网的Linux机器(优先与目标服务器同架构,arm64可选麒麟V10、华为云鲲鹏实例,x86_64可选普通Linux服务器、虚拟机;若架构不同,需额外注意镜像架构指定)。
1.2 核心思路
离线部署的核心是“外网准备、内网部署、环境验证”,整体流程可概括为3步,兼顾两种架构适配:
外网中转站:根据目标服务器架构,下载对应版本的Docker离线安装包、Redis Docker镜像,并打包保存;
内网传输:将离线安装包、镜像包通过U盘、内部文件服务器等介质,传输到麒麟V10目标服务器;
内网部署:依次完成Docker离线安装、Redis镜像加载、容器启动,通过简单命令验证Docker与Redis环境正常运行。
二、第一步:外网准备——下载Docker离线包与Redis镜像(分架构)
此步骤在能访问外网的中转站机器上操作,核心是根据目标服务器架构(arm64/x86_64),获取适配麒麟V10的Docker安装包和Redis镜像,避免架构不兼容问题。Redis仅作为环境验证,选择官方稳定版(本文以Redis 6.2.6为例,适配两种架构)。
2.1 下载麒麟V10(分架构)Docker离线安装包
麒麟V10系统基于CentOS/RHEL架构,Docker离线安装需依赖rpm包,优先选择适配对应架构的官方稳定版本(本文以Docker 20.10.24为例,分arm64、x86_64两个版本)。
操作步骤(分架构执行):
根据目标服务器架构,访问对应Docker官方rpm仓库,下载以下3个核心rpm包(后缀对应架构):
arm64架构:访问 https://download.docker.com/linux/centos/8/aarch64/stable/Packages/,下载 aarch64 后缀的包:
containerd.io-xxx.aarch64.rpm(容器运行时依赖);
docker-ce-xxx.aarch64.rpm(Docker核心包);
docker-ce-cli-xxx.aarch64.rpm(Docker命令行工具)。
x86_64架构:访问 https://download.docker.com/linux/centos/8/x86_64/stable/Packages/,下载 x86_64 后缀的包:
containerd.io-xxx.x86_64.rpm(容器运行时依赖);
docker-ce-xxx.x86_64.rpm(Docker核心包);
docker-ce-cli-xxx.x86_64.rpm(Docker命令行工具)。
将下载的3个rpm包放在同一目录(如 /home/docker_offline),并打包为tar压缩包(标注架构,方便后续区分),方便后续传输:
arm64架构:
tar -czvf docker_arm64_20.10.24.tar.gz /home/docker_offline/*.rpmx86_64架构:
tar -czvf docker_x86_64_20.10.24.tar.gz /home/docker_offline/*.rpm
注意:务必确认rpm包后缀与目标服务器架构一致(arm64对应aarch64,x86_64对应x86_64),否则无法在麒麟V10上安装。
2.2 下载并打包Redis对应架构Docker镜像
Redis官方镜像包含多个架构版本,需根据目标服务器架构(arm64/x86_64),精准获取对应版本,避免下载错误架构导致无法运行。本文以Redis 6.2.6(长期支持版,稳定可靠,适配两种架构)为例,仅作为Docker环境验证工具,无需复杂配置。
操作步骤(分架构执行):
拉取正确架构的Redis镜像:
若中转站机器与目标服务器同架构(arm64/x86_64),直接拉取,Docker会自动匹配架构:
docker pull redis:6.2.6若中转站机器与目标服务器架构不同,必须指定对应平台,否则会拉取错误架构版本:
目标服务器为arm64:
docker pull --platform linux/arm64 redis:6.2.6目标服务器为x86_64:
docker pull --platform linux/amd64 redis:6.2.6
验证镜像架构(确保与目标服务器一致):
docker inspect redis:6.2.6 | grep Architecture输出结果:arm64架构对应 “Architecture”: “aarch64”,x86_64架构对应 “Architecture”: “amd64”,确认镜像正确。打包镜像为tar文件(标注架构),便于内网传输:
arm64架构:
# 查看镜像ID(假设为 abcdef123456)docker images | grep redis# 打包镜像docker save abcdef123456 -o /home/redis_arm64_6.2.6.tarx86_64架构:
# 查看镜像ID(假设为 abcdef123456)docker images | grep redis# 打包镜像docker save abcdef123456 -o /home/redis_x86_64_6.2.6.tar
(可选)校验文件完整性:计算tar包的哈希值,后续传输到内网后核对,避免文件损坏:
arm64架构:
sha256sum /home/redis_arm64_6.2.6.tar > redis_sha256.txtx86_64架构:
sha256sum /home/redis_x86_64_6.2.6.tar > redis_sha256.txt
至此,外网准备工作完成。根据目标服务器架构,将对应的Docker离线包、Redis镜像包(及redis_sha256.txt)通过安全介质,传输到内网麒麟V10目标服务器的 /home 目录下。
三、第二步:内网部署——麒麟V10安装Docker(分架构)
目标服务器为无外网权限的麒麟V10(arm64/x86_64),需根据架构,通过对应离线rpm包安装Docker,步骤如下(分架构执行):
3.1 解压Docker离线包(分架构)
1 | cd /home |
3.2 离线安装Docker依赖与核心包(分架构)
进入解压后的rpm包目录,执行安装命令(需root权限,若提示依赖缺失,需提前准备对应离线依赖包,依赖包架构需与目标服务器一致):
1 | cd /home/docker_offline |
3.3 启动Docker并设置开机自启
1 | # 启动Docker服务 |
若启动失败,大概率是依赖缺失或rpm包架构错误。可执行 systemctl status docker 查看错误日志,补充对应依赖或重新下载正确架构的rpm包。
第三步:内网部署——Docker加载并运行Redis(环境验证,分架构)
Docker安装完成后,即可加载提前传输的对应架构Redis镜像,启动容器并完成简单验证,确认Docker环境正常可用(Redis仅作为验证工具,无需复杂配置)。
3.1 导入Redis镜像(分架构)
将传输到 /home 目录的对应架构Redis镜像包导入Docker本地仓库:
1 | cd /home |
导入成功后,执行 docker images 会看到一个无标签(REPOSITORY和TAG为
1 | # 查看镜像ID(假设为 1234567890ab) |
3.2 配置Redis数据持久化(可选,验证环境可省略)
若仅作为环境验证,可省略数据持久化;若需简单留存数据,可将Redis数据目录挂载到宿主机(生产环境建议配置,验证环境可跳过):
1 | # 创建宿主机数据目录(验证环境可省略) |
3.3 启动Redis容器(环境验证版,分架构)
使用 docker run 命令启动容器,配置端口映射、自启等基础参数,确保容器正常运行,用于验证Docker环境可用(无需复杂配置,仅开启基础服务):
1 | # 分架构启动容器,验证环境无需复杂配置 |
参数说明(验证环境重点):
-d:后台运行容器,不占用终端;
–restart=always:服务器重启、Docker重启后,容器自动启动,便于长期验证;
-p 6379:6379:Redis默认端口映射,便于后续连接验证;
–requirepass:简单设置密码,避免内网未授权访问(验证环境可选,提升安全性)。
启动后,验证容器状态(确认Docker环境正常):
1 | docker ps | grep redis-server |
若 STATUS 为 Up,说明Redis容器已成功运行,Docker环境部署正常,达到环境验证目的。
四、第四步:环境验证——Redis连接测试(核心,确认环境可用)
Redis容器启动后,通过简单的连接命令,验证Docker容器运行正常、Redis服务可用,完成整个环境验证流程。
4.1 容器内连接Redis测试
1 | # 进入Redis容器内部 |
若输出 PONG,说明Redis服务正常运行,Docker容器部署无误,环境验证通过。
4.2 宿主机连接Redis测试(可选)
1 | # 宿主机直接连接Redis(需确保宿主机安装了redis-cli,或使用Docker命令间接连接) |
若输出 PONG,说明宿主机与容器通信正常,整个Docker+Redis环境验证完成。
4.3 常见验证失败排查
容器启动失败:检查镜像架构是否与目标服务器一致,执行
docker logs redis-server查看错误日志;ping命令无响应:检查容器是否正常运行(docker ps),密码是否输入正确,防火墙是否开放6379端口;
防火墙开放端口(若无法连接):
sudo firewall-cmd --zone=public --add-port=6379/tcp --permanentsudo firewall-cmd --reload
五、安全加固与环境清理(验证环境可选)
若仅作为临时环境验证,使用完成后可清理容器和镜像,释放服务器资源;若需长期保留,可进行简单安全加固。
5.1 环境清理(临时验证用)
1 | # 停止Redis容器 |
5.2 简单安全加固(长期保留用)
端口限制:通过防火墙限制仅允许内部指定IP访问6379端口,避免内网未授权访问;
密码加固:设置复杂密码,避免简单密码泄露;
容器资源限制:若长期保留,可限制容器内存和CPU使用,避免占用过多服务器资源:
# 启动容器时添加资源限制参数(以arm64为例,x86_64替换镜像标签即可)docker run -d \--name redis-server \--restart=always \-p 6379:6379 \--memory="1g" \ # 限制容器最大使用1GB内存--cpus="1.0" \ # 限制容器最大使用1个CPU核心redis:6.2.6-arm64 --requirepass "RedisTest123!"
六、总结
本文完整覆盖了麒麟V10(arm64/x86_64两种架构)内网环境下,Docker离线安装、Redis(环境验证版)离线部署与测试的全流程,核心要点是“架构匹配”和“环境验证”——确保Docker安装包、Redis镜像均与目标服务器架构一致,提前在外网完成资源准备,内网仅需执行安装、加载、启动和简单测试,即可完成Docker环境验证。
整个流程避开了源码编译、依赖冲突等坑点,通过Docker容器化方式,保证了环境一致性和部署便捷性,适用于政企单位、涉密项目等无外网场景的Docker环境验证。Redis仅作为验证工具,配置简单、操作便捷,能快速确认Docker环境部署成功;若需部署其他Docker应用,可参考本文“外网准备-内网部署”的思路,替换对应镜像即可。
若实际操作中遇到问题,优先查看容器日志和系统日志,大部分错误均可通过日志定位并解决;两种架构的核心操作一致,仅需注意安装包和镜像的架构区分,新手也能轻松落地。