现在,我正在研究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
在与构建设备架构不同的设备上实现多平台图像?