1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
## Output
```text
"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.
```dockerfile
FROM alpine
ARG foo bar
```
✅ Good: use an equals sign to separate key and value.
```dockerfile
FROM alpine
ARG foo=bar
```
❌ Bad: multi-line variable declaration with a space separator.
```dockerfile
ENV DEPS \
curl \
git \
make
```
✅ Good: use an equals sign and wrap the value in quotes.
```dockerfile
ENV DEPS="\
curl \
git \
make"
```
|