在ARM46+KylinOS下安装配置Docker的详细步骤_kylinos 安装docker
目录
一、安装前准备
(一)环境检查
(二)依赖准备
二、Docker 安装步骤
(一)添加 Docker 官方源(以 Debian 分支银河麒麟为例,RPM 系类似调整)
(二)安装 Docker 引擎
(三)启动与基础配置
三、Docker 优化配置(可选但推荐)
(一)镜像加速
(二)存储驱动优化
四、注意事项
(一)系统兼容性
(二)网络与镜像源
(三)权限与安全
(四)ARM 架构特殊点
五、经常遇见的问题及解决方法
六、学习经验分享
一、前置认知搭建
二、依赖与源配置学习
(一)依赖安装
(二)软件源配置
三、安装与验证实践
四、优化配置探索
(一)镜像加速
(二)存储驱动
五、问题排查与解决
六、权限与安全认知
七、ARM 架构适配关注
一、安装前准备
(一)环境检查
- 架构确认:
执行uname -m
,输出应为aarch64
,确认是 ARM64 架构,保证与 Docker 安装包兼容。 - 系统版本适配:
查看银河麒麟系统版本,如cat /etc/os-release
,确认内核版本(uname -r
),一般推荐内核 4.14 及以上(银河麒麟服务器版通常满足),以支持 Docker 功能。
(二)依赖准备
银河麒麟系统需提前安装必要依赖,执行:
sudo apt update # 基于银河麒麟的 Debian 分支(如 kylin-nasma 等),若为欧拉系可换 yumsudo apt install -y ca-certificates curl gnupg lsb-release
若系统是基于 RPM 包管理(如银河麒麟服务器操作系统欧拉版适配情况 ),则替换为:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
二、Docker 安装步骤
(一)添加 Docker 官方源(以 Debian 分支银河麒麟为例,RPM 系类似调整)
1.配置 GPG 密钥:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg
若网络受限,可替换为国内镜像源(如阿里云):
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg
2.添加软件源:
根据银河麒麟系统的发行版代号(通过 lsb_release -cs
查看,如 kylin
等 ),添加源:
echo \"deb [arch=arm64] https://download.docker.com/linux/debian \\$(lsb_release -cs) stable\" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
国内镜像源(阿里云)替换:
echo \"deb [arch=arm64] https://mirrors.aliyun.com/docker-ce/linux/debian \\$(lsb_release -cs) stable\" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
(二)安装 Docker 引擎
1.更新软件包索引:
sudo apt update
2.安装 Docker CE:
sudo apt install -y docker-ce docker-ce-cli containerd.io
若为 RPM 系银河麒麟(如适配欧拉),则:
sudo yum install -y docker-ce docker-ce-cli containerd.io
(三)启动与基础配置
1.启动 Docker 服务:
sudo systemctl start dockersudo systemctl enable docker # 设置开机自启
2.验证安装:
sudo docker run hello-world
若正常输出 “Hello from Docker!” 等信息,说明安装启动成功。
三、Docker 优化配置(可选但推荐)
(一)镜像加速
因网络原因,配置国内镜像加速器(如阿里云、华为云等 )。编辑或创建 /etc/docker/daemon.json
文件:
sudo tee /etc/docker/daemon.json <<-\'EOF\'{ \"registry-mirrors\": [\"https://.mirror.aliyuncs.com\"]}EOF
替换 为实际申请的阿里云 / 华为云等镜像加速地址(需注册获取专属地址 )。
配置后重启服务:
sudo systemctl daemon-reloadsudo systemctl restart docker
(二)存储驱动优化
银河麒麟 + ARM64 环境下,默认 containerd
配合 overlay2
存储驱动一般可用。若需调整,可在 daemon.json
中添加:
{ \"storage-driver\": \"overlay2\", \"storage-opts\": [ \"overlay2.override_kernel_check=true\" // 必要时跳过内核检查(需系统内核支持) ]}
四、注意事项
(一)系统兼容性
- 内核适配:确保银河麒麟系统内核版本满足 Docker 需求(如部分老版本内核可能导致
overlay2
存储驱动异常 ),可通过uname -r
检查,必要时升级内核(需谨慎,避免系统稳定性问题 )。 - 系统分支差异:银河麒麟有基于 Debian、欧拉等不同分支,安装时注意包管理工具(
apt
或yum
)适配,命令需对应调整。
(二)网络与镜像源
- 网络限制:若服务器在内网环境,需提前配置代理或确保能访问 Docker 官方 / 国内镜像源,否则会出现拉取镜像、安装包失败问题。
- 镜像源稳定性:国内镜像源可能存在同步延迟,若拉取特定版本 Docker 失败,可尝试切换源或直接从官方源重试(注意网络超时设置 )。
(三)权限与安全
- 用户组配置:默认 Docker 命令需
sudo
,可将当前用户加入docker
组:
sudo usermod -aG docker $USERnewgrp docker # 无需重启,立即生效组权限
但需注意,docker
组权限较高,生产环境需结合安全策略评估。
- 容器安全:避免在容器内以 root 权限运行敏感服务,可通过
USER
指令在 Dockerfile 中切换普通用户;定期更新 Docker 版本与容器镜像,修复安全漏洞。
(四)ARM 架构特殊点
- 镜像兼容性:拉取容器镜像时,需确保是
arm64v8
架构适配的镜像(Docker Hub 中镜像标签一般区分amd64
、arm64
等 ),否则会因架构不兼容无法运行。 - 性能调优:ARM64 架构下,部分容器化应用可能因指令集差异性能不同,可通过调整容器 CPU、内存限制(
docker run -c -m
)优化,或测试不同基础镜像(如arm64v8/ubuntu
等 )。
按上述步骤,可完成 ARM64 + 银河麒麟系统下 Docker 的安装配置,结合注意事项规避环境、网络、权限等问题,保障 Docker 稳定运行 。
五、经常遇见的问题及解决方法
uname -m
输出非 aarch64
,架构不匹配apt/yum update
时网络超时、无法获取包索引apt
或 yum
),安装对应依赖(如 ca - certificates
、curl
等,步骤见前文)sudo docker run hello-world
报错,无法拉取测试镜像amd64
架构,与 ARM64 不兼容arm64v8
架构适配的镜像;若需自定义镜像,确保 Dockerfile 基于 arm64v8
基础镜像构建apt/yum
报错 “公钥验证失败”systemctl status docker
提示报错daemon.json
配置语法错误,或存储驱动与系统不兼容/etc/docker/daemon.json
语法(可借助 JSON 校验工具);若存储驱动问题,尝试调整为 overlay2
并添加 overlay2.override_kernel_check=true
(需系统内核支持),重新加载配置、重启服务docker
用户组sudo usermod -aG docker $USER
添加用户到组,然后 newgrp docker
使权限立即生效;生产环境需评估该操作带来的安全风险docker run -c -m
调整资源分配;测试不同 arm64v8
基础镜像,选择适配性好的docker registry
配合缓存配置 )containerd
相关服务报错containerd
依赖未正确安装或配置异常containerd.io
包(apt reinstall containerd.io
或 yum reinstall containerd.io
);检查 /etc/containerd/config.toml
配置(若有),确保语法和参数正确,必要时重置配置(containerd config default > /etc/containerd/config.toml
)后重启服务六、学习经验分享
一、前置认知搭建
先确认环境基础,用uname -m
看是否为aarch64
架构,通过cat /etc/os-release
、uname -r
摸清 KylinOS 版本与内核情况,这是适配 Docker 的前提,就像给电脑装机先看硬件参数一样,不然后续操作可能 “南辕北辙” 。
二、依赖与源配置学习
(一)依赖安装
根据系统包管理工具(apt
或yum
),记牢对应依赖命令。比如 Debian 分支 KylinOS 用apt install -y ca-certificates curl...
,RPM 系则换yum
命令,这一步是给 Docker 安装 “铺路”,缺了依赖后续准报错,多练几次不同分支系统的操作,形成条件反射。
(二)软件源配置
要掌握官方源和国内镜像源(如阿里云)的添加方法,包括 GPG 密钥配置、/etc/apt/sources.list.d/docker.list
(或 RPM 系对应源文件 )的编写。遇到网络问题时,切换国内源能救命,多对比不同源的配置差异和生效效果,理解源的作用机制。
三、安装与验证实践
安装 Docker 时,严格按apt/yum install docker-ce...
流程走,安装后用systemctl
启动、设开机自启,再通过docker run hello-world
验证。这环节重点是感受服务启动、自启配置的逻辑,以及验证命令反馈的含义,成功运行测试镜像,就像拿到 “安装合格证书” 。
四、优化配置探索
(一)镜像加速
学会编辑/etc/docker/daemon.json
配置国内镜像加速器,配置后重启服务看效果。多尝试不同加速器(阿里云、华为云等 ),对比拉取镜像速度,理解镜像加速对 Docker 使用体验的影响,解决网络差时拉取慢的痛点。
(二)存储驱动
了解overlay2
存储驱动,尝试在daemon.json
里配置相关参数(如overlay2.override_kernel_check=true
),观察配置前后 Docker 运行状态,明白存储驱动与系统内核、Docker 性能的关联,遇到存储相关报错时,能从这方面排查。
五、问题排查与解决
把常见问题(如架构不匹配、依赖缺失、镜像架构错误等 )分类整理,遇到报错先看提示信息,从环境、源、权限、架构这些方向排查。比如看到 “exec format error”,就想到镜像架构不对;权限不足就调整用户组。多复盘解决过的问题,形成自己的 “排错思路库” ,下次遇到类似问题能快速定位。
六、权限与安全认知
普通用户执行 Docker 命令要加sudo
或配置用户组,理解docker
用户组权限风险,生产环境谨慎操作。在容器安全上,知道用USER
指令切换普通用户、定期更新镜像版本,从权限和镜像层面保障 Docker 环境安全,这是企业级应用必须关注的点,得刻进学习认知里。
七、ARM 架构适配关注
拉取镜像时,刻意筛选arm64v8
架构的,遇到不兼容报错,明白是架构问题导致。测试容器性能时,调整 CPU、内存限制,对比不同基础镜像效果,掌握 ARM64 环境下 Docker 性能调优技巧,因为架构差异会实实在在影响应用运行,得针对性学习适配要点。
总之,学习这部分内容,要把环境基础、安装流程、优化配置、问题解决、安全与架构适配这些点串起来,多实操、多复盘,从一个个具体命令和报错中,积累对 ARM64 + KylinOS 下 Docker 体系的理解,逐步形成完整的知识与技能体系。
学习视频推荐:
https://www.bilibili.com/video/BV1xHA3euEcn/?spm_id_from=333.337.search-card.all.click&vd_source=f463e349633c2f359f2a3ea9f4cc42e5https://www.bilibili.com/video/BV1oT421Y7Q4/?spm_id_from=333.337.search-card.all.click
Linux、VMware虚拟机安装,ARM-Linux完全入门,用最快的路径实现单片机到ARM-Linux的过度!