如何使用 docker pull 拉取指定架构的容器镜像

当前文档描述如何通过 dockerd 实验属性,拉取异构的 docker 镜像。比如,在 x86_64 架构的服务器上拉取 arm64 镜像。

一、开启实验属性

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

添加 "experimental": true

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

{
  "registry-mirrors": [
    "https://dockerhub.azk8s.cn",
    "https://docker.mirrors.ustc.edu.cn",
    "http://hub-mirror.c.163.com"
  ],
  "max-concurrent-downloads": 10,
  "max-concurrent-uploads": 10,
  "experimental": true,
  "log-driver": "json-file",
  "log-level": "warn",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
    },
  "data-root": "/var/lib/docker"
}

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

systemctl daemon-reload
systemctl restart docker

二、拉取指定架构的镜像

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

docker pull --platform arm64 alpine

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

$ docker inspect alpine | grep Architecture
"Architecture": "arm64",

而主机的架构,是 x86_64:

$ arch
x86_64

你可能感兴趣的:(Cloud,Native,docker,架构,容器,运维)