是否可以针对不同的架构分别推送 docker 个镜像?
Is it possible to push docker images for different architectures separately?
据我所知,docker buildx build --push
将使用您在 --platform
参数中指定的图像架构覆盖现有图像架构。据我了解,您必须在使用 buildx
时同时构建和推送所有架构。但是,我知道官方 docker 图像使用 arm64 build farm 来构建 linux/arm64 图像。这怎么可能?他们只使用 docker push
而没有使用 buildx
吗?如果是这样,是否意味着 docker push
不会像 buildx
那样覆盖现有架构?如果我想在不同的机器上构建和推送多个架构,最好的方法是什么?
您可以在集群中的不同主机上使用单独的命令构建和推送,每个命令发送到不同的标签。然后在推送每个平台的所有标签后,您可以使用 docker manifest
创建一个多平台清单,该清单指向具有单个标签的所有图像。此工具目前需要启用实验性支持。
有关 docker manifest
的更多详细信息可以在文档中找到:https://docs.docker.com/engine/reference/commandline/manifest/
据我所知,docker buildx build --push
将使用您在 --platform
参数中指定的图像架构覆盖现有图像架构。据我了解,您必须在使用 buildx
时同时构建和推送所有架构。但是,我知道官方 docker 图像使用 arm64 build farm 来构建 linux/arm64 图像。这怎么可能?他们只使用 docker push
而没有使用 buildx
吗?如果是这样,是否意味着 docker push
不会像 buildx
那样覆盖现有架构?如果我想在不同的机器上构建和推送多个架构,最好的方法是什么?
您可以在集群中的不同主机上使用单独的命令构建和推送,每个命令发送到不同的标签。然后在推送每个平台的所有标签后,您可以使用 docker manifest
创建一个多平台清单,该清单指向具有单个标签的所有图像。此工具目前需要启用实验性支持。
有关 docker manifest
的更多详细信息可以在文档中找到:https://docs.docker.com/engine/reference/commandline/manifest/