UndefinedArgInFrom

Output

FROM argument 'VARIANT' is not declared

Description

This rule warns for cases where you're consuming an undefined build argument in FROM instructions.

Interpolating build arguments in FROM instructions can be a good way to add flexibility to your build, and lets you pass arguments that overriding the base image of a stage. For example, you might use a build argument to specify the image tag:

ARG ALPINE_VERSION=3.20

FROM alpine:${ALPINE_VERSION}

This makes it possible to run the build with a different alpine version by specifying a build argument:

$ docker buildx build --build-arg ALPINE_VERSION=edge .

This check also tries to detect and warn when a FROM instruction reference miss-spelled built-in build arguments, like BUILDPLATFORM.

Examples

❌ Bad: the VARIANT build argument is undefined.

FROM node:22${VARIANT} AS jsbuilder

✅ Good: the VARIANT build argument is defined.

ARG VARIANT="-alpine3.20"
FROM node:22${VARIANT} AS jsbuilder