LegacyKeyValueFormat
Table of contents
Output
"ENV key=value" should be used instead of legacy "ENV key value" format
Description
The correct format for declaring environment variables and build arguments in a
Dockerfile is ENV key=value
and ARG key=value
, where the variable name
(key
) and value (value
) are separated by an equals sign (=
).
Historically, Dockerfiles have also supported a space separator between the key
and the value (for example, ARG key value
). This legacy format is deprecated,
and you should only use the format with the equals sign.
Examples
❌ Bad: using a space separator for variable key and value.
FROM alpine
ARG foo bar
✅ Good: use an equals sign to separate key and value.
FROM alpine
ARG foo=bar
❌ Bad: multi-line variable declaration with a space separator.
ENV DEPS \
curl \
git \
make
✅ Good: use an equals sign and wrap the value in quotes.
ENV DEPS="\
curl \
git \
make"