首页 > 解决方案 > Docker Build 自动选择架构

问题描述

对于支持不同架构的 Docker 镜像,例如:

FROM whatever:arm64 or
FROM whatever:amd64

是否可以让 Docker 自动检测主机上的架构并选择相关的 Docker 导入/继承?

例如,如果我在 amd64 主机上运行 docker build,它将默认选择 amd64 导入。

标签: docker

解决方案


对于作为清单列表推送到注册表的多平台图像,这是默认行为。例如,如果你 build FROM alpine,你不需要指定你在哪个平台上运行 docker 来为你的本地架构构建一个镜像。如果是交叉编译,可以根据目标平台或构建主机平台选择镜像,buildkit using--platform和内置ARGTARGETPLATFORMand BUILDPLATFORM

FROM --platform=$BUILDPLATFORM alpine

这将拉取与您的构建主机匹配的高山映像,它通常与您正在创建的目标平台匹配。

有关更多详细信息,请参阅有关多平台映像的 buildx 文档


推荐阅读