对于支持不同架构的Docker镜像,例如:
FROM whatever:arm64 or
FROM whatever:amd64
是否可以让Docker自动检测主机上的架构并选择相关的Docker导入/继承?
例如,如果我在amd64主机上运行docker构建,它将默认选择amd64导入。
对于作为清单列表推送到注册表的多平台映像,这是默认行为。例如,如果您构建FROM alpine
,则无需为docker指定您正在哪个平台上运行,即可为您的本地体系结构构建映像。如果您正在交叉编译,您可以使用--platform
和内置ARG
值TARGETPLATFORM
和BUILDPLATFORM
:基于目标平台或带有buildkit的构建主机的平台来选择映像
FROM --platform=$BUILDPLATFORM alpine
这将提取与你的构建主机匹配的高山图像,它通常与你正在创建的目标地貌匹配。
有关更多详细信息,请参阅有关多平台映像的buildx文档。