frontend/dockerfile/docs/rules/from-platform-flag-const-disallowed.md
FROM --platform flag should not use constant value "linux/amd64"
Specifying --platform in the Dockerfile FROM instruction forces the image to build on only one target platform. This prevents building a multi-platform image from this Dockerfile and you must build on the same platform as specified in --platform.
The recommended approach is to:
FROM --platform in the Dockerfile and use the --platform argument on the command line.$BUILDPLATFORM or some other combination of variables for the --platform argument.❌ Bad: using a constant argument for --platform
FROM --platform=linux/amd64 alpine AS base
RUN apk add --no-cache git
✅ Good: using the default platform
FROM alpine AS base
RUN apk add --no-cache git
✅ Good: using a meta variable
FROM --platform=${BUILDPLATFORM} alpine AS base
RUN apk add --no-cache git
✅ Good: used in a multi-stage build with a target architecture
FROM --platform=linux/amd64 alpine AS build_amd64
...
FROM --platform=linux/arm64 alpine AS build_arm64
...
FROM build_${TARGETARCH} AS build
...