使用X86架构系统为arm架构系统拉取Docker镜像并导出使用
X86架构 vs ARM架构
-
X86和ARM架构最本质的区别在于复杂指令集和精简指令集。
-
X86是基于复杂指令集(CISC, Complex Instruction Set Computing)。复杂指令集的特点是指令丰富,有专用指令来完成特定的功能,因此处理特殊任务的效率较高。但缺点是CPU需要包含丰富的电路单元,因而面积大、功耗大。
-
ARM是基于精简指令集(RISC, Reduced Instruction Set Computing),精简指令集顾名思义,指令数有限,设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。对复杂的功能,常通过组合指令来完成,因此在RISC机器上实现复杂功能时,可能效率较低。优点是CPU包含较少的单元电路,因而面积小、功耗低,且制造工艺简单、成本相对低廉。
本文需求
-
部分arm架构的NAS设备系统上遇到网络故障,直接拉取arm的Docker镜像循环失败。
-
由X86架构的系统手动拉取镜像进行导出,然后再导入到arm的NAS中。
-
但是部分镜像没有单独的架构标签,默认使用X86架构的系统拉取下来的是amd64的,无法在arm设备上使用。
名词解释
-
解释DockerHub上的操作系统/架构的意思
-
linux/amd64:指可用于Linux系统,X86(64位)架构系统上。
-
linux/arm64:指可用于Linux系统,arm(64位)架构系统上。
-
linux/arm32:指可用于Linux系统,arm(32位)架构系统上。
演示环境
-
黑群晖物理机(虚拟机也一样):DS918+DSM7.2
-
需要使用arm架构Docker镜像的设备系统:极空间Z2
操作步骤
拉取镜像
-
打开群晖的SSH功能,使用终端软件进行连接,并切换到root状态下。
-
访问DockerHub官网,搜索你需要使用的Docker镜像。
https://hubgw.docker.com/
-
演示以随意拉取一个第三方的nastool镜像为例,找到你需要使用的版本。
随意选择一个最新的版本(latest标签),点击
- 感谢你赐予我前进的力量