首页/云/Docker 容器速查/FROM --platform 多架构构建选择
本包目录(366 条)
基础命令50 条
镜像与构建107 条
网络与存储52 条Compose 编排55 条资源与安全50 条容器排障52 条

FROM --platform 多架构构建选择

配合 BuildKit 的预定义变量选择构建与目标平台:编译阶段跑本机架构(BUILDPLATFORM),产出目标架构(TARGETPLATFORM)的二进制。

Docker 容器速查云更新于 2026-10-12
预定义变量BUILDPLATFORM / TARGETPLATFORM / TARGETOS / TARGETARCH
语法FROM --platform=$BUILDPLATFORM golang:1.23 AS build
依赖BuildKit(docker buildx / Docker 23+ 默认)

示例

示例
FROM --platform=$BUILDPLATFORM golang:1.23 AS build
ARG TARGETOS TARGETARCH
RUN GOOS=$TARGETOS GOARCH=$TARGETARCH go build -o /out/app .

FROM alpine:3.20
COPY --from=build /out/app /usr/local/bin/app
TARGETOS/TARGETARCH 必须在 FROM 之后用 ARG 重新声明才可用;它们由 BuildKit 按目标平台注入。

易错点

  • 这些变量由 BuildKit 注入,legacy builder 环境不支持;老环境直接写死平台更稳妥
  • 交叉编译与模拟运行别混淆:编译阶段用 BUILDPLATFORM 提速,运行阶段用目标平台镜像

数据来源与参考

  • Docker 官方文档:Multi-platform builds / Build variables(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌