2023年9月17日星期日

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

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














开启属性

docker cli支持manifest特性,这个特性默认是不开启的。

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

为配置文件 /etc/docker/daemon.json

添加 “experimental”: true。

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

vim /etc/docker/daemon.json

{
  "experimental": true
}

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

systemctl daemon-reload
systemctl restart docker

拉取指定架构的镜像

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

docker pull --platform=arm64 镜像

–platform:该参数是用于拉取指定平台的镜像,也是实验性功能,在上面步骤中开启后就会出现。通过该参数可以手动指定需要的CPU平台镜像,而不用自动去识别。

拉取 arm64 架构镜像示例。

docker pull --platform linux/arm64 openjdk

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

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

而主机的架构,是 aarch64:

$ arch
aarch64