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

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

关于x86、x86_64、x64、amd64和arm64、aarch64

架构	指令集位数	原因		
X86	32位	英特尔出的处理习惯以86为结尾,如80186、80286、80386,所以之后被称之为 X86		
AMD64	64位	32位向64位演进时,AMD 抢先制造出了兼容 X86 32位指令集的 64位处理器		
X86-64	64位	因特尔设计 IA-64,比amd晚了一步,且不兼容 X86 32位指令集,比较惨淡
因此后续因特尔也采用 AMD64,但在此基础上进行了扩充,并改名为 X86-64
所以 x86_64,x64,AMD64基本上是同一个东西
现在用的intel/amd的桌面级CPU基本上都是x86_64		
ARM		适用于移动通信这种低成本、高性能、低耗电的领域		
ARM-V8	AArch64:64位执行状态
AArch32:32位执行状态	有两种执行态,适用于 32位和64位		
AArch64	64位	从 ARM-V8 中独立出来

开启属性

通过修改 dockerd 配置文件,并重载,可以在服务器上开启 dockerd 的实验属性。为配置文件 /etc/docker/daemon.json

添加 “experimental”: true。

修改后的配置文件看起来和下面的比较像:

{
    
    
  "experimental": true
}

修改完成后,使用以下命令重置服务:

systemctl daemon-reload
systemctl restart docker

拉取指定架构的镜像

在 docker pull 时指定参数,即可完成指定架构镜像的拉取。以拉取 arm64 架构的 alpine 镜像为例。

docker pull --platform linux/arm64 openjdk

通过以下命令,可以确定其架构信息:

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

而主机的架构,是 aarch64:

$ arch
aarch64

猜你喜欢

转载自blog.csdn.net/cml011/article/details/128729136