Popular blog tags

docker pull 拉取特定架构amd64、arm64、aarch64的容器镜像

Published

Are you someone that is confused by terms like ARM, AArch64, x86_64, i386, etc when viewing a datasheet or downloads page of a software? These are called CPU architecture

 

 

CPU Architecture Description
X8632位英特尔出的处理习惯以86为结尾,如80186、80286、80386,所以之后被称之为 X86
AMD64


64位32位向64位演进时,AMD 抢先制造出了兼容 X86 32位指令集的 64位处理器

X86-64  

64位

64-bit Intel CPUs

因特尔设计 IA-64,比amd晚了一步,且不兼容 X86 32位指令集,比较惨淡
因此后续因特尔也采用 AMD64,但在此基础上进行了扩充,并改名为 X86-64
所以 x86_64,x64,AMD64基本上是同一个东西
现在用的intel/amd的桌面级CPU基本上都是x86_64

ARM
 

 

ARM CPUs

适用于移动通信这种低成本、高性能、低耗电的领域

ARM-V8AArch64:64位执行状态
AArch32:32位执行状态

ARM CPUs

有两种执行态,适用于 32位和64位

AArch64


64位从 ARM-V8 中独立出来

 

@raspberrypi:~# arch
aarch64

 

raspberrypi:~# cat /proc/cpuinfo 

Model		: Raspberry Pi 3 Model B Rev 1.2

 

docker pull --platform linux/arm64 openjdk

or

docker pull --platform linux/arm64  homebridge/homebridge

 

 

$ docker image inspect openjdk | grep Architecture
"Architecture": "arm64",

 

$ docker image inspect homebridge/homebridge | grep Architecture
"Architecture": "arm64",