当前文档描述如何通过 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