InvalidDefinitionDescription

Table of contents

Note

This check is experimental and is not enabled by default. To enable it, see Experimental checks.

Output

Comment for build stage or argument should follow the format: `# <arg/stage name> <description>`. If this is not intended to be a description comment, add an empty line or comment between the instruction and the comment.

Description

The --call=outline and --call=targets flags for the docker build command print descriptions for build targets and arguments. The descriptions are generated from Dockerfile comments that immediately precede the FROM or ARG instruction and that begin with the name of the build stage or argument. For example:

# build-cli builds the CLI binary FROM alpine AS build-cli # VERSION controls the version of the program ARG VERSION=1

In cases where preceding comments are not meant to be descriptions, add an empty line or comment between the instruction and the preceding comment.

Examples

❌ Bad: A non-descriptive comment on the line preceding the FROM command.

# a non-descriptive comment FROM scratch AS base  # another non-descriptive comment ARG VERSION=1

✅ Good: An empty line separating non-descriptive comments.

# a non-descriptive comment  FROM scratch AS base  # another non-descriptive comment  ARG VERSION=1

✅ Good: Comments describing ARG keys and stages immediately proceeding the command.

# base is a stage for compiling source FROM scratch AS base # VERSION This is the version number. ARG VERSION=1