据我所知,docker buildx build --push
将用您在--platform
参数中指定的镜像架构覆盖现有的镜像架构。据我所知,在使用buildx
时,你必须同时构建和推送所有的架构。然而,我知道官方docker镜像使用arm64构建场来构建linux/arm64镜像。这怎么可能呢?他们只使用docker push
而不使用buildx
吗?如果是这样,是否意味着与buildx
不同,docker push
不会覆盖现有的体系结构?如果我想在不同的机器上构建和推送多个架构,最好的方法是什么?
发布于 2021-02-24 00:40:54
您可以在集群中的不同主机上使用单独的命令进行构建和推送,每个命令都会发送到不同的标签。然后,在推送每个平台的所有标记后,您可以使用docker manifest
创建一个多平台清单,该清单指向具有单个标记的所有图像。此工具当前需要启用实验支持。
有关docker manifest
的更多详细信息,请参阅文档:https://docs.docker.com/engine/reference/commandline/manifest/
https://stackoverflow.com/questions/66337210
复制相似问题