如何在具有其中一种架构的机器中加载 docker 多架构映像?

如何在具有其中一种架构的机器中加载 docker 多架构映像?

现在,我正在研究docker多架构构建,或者他们所说的“多平台”。但是,看起来它的工作方式假设我将构建推送到docker hub,然后从具有其中一个子架构的机器中拉取它。

我当前的命令为多种架构构建图像:

docker buildx build --platform linux/amd64,linux/arm64/v8 . -t yada:yada -f etc

但是,当我将其输出到 tar 时:

docker save -o doesnt_work.tar
scp doesnt_work.tar myRemote:.
ssh myRemote "docker load -i doesnt_work.tar"

我收到警告:

WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested

尽管我期望会发生某种 docker 魔法,但我很高兴告诉 docker 该镜像是具有节点的多平台镜像linux/arm64/v8。但是,我没有看到任何方法可以在这个docker save->docker load命令序列中做到这一点。

有没有办法docker load在与构建设备架构不同的设备上实现多平台图像?

相关内容