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
|
## Output
```text
Using the global ARGs with default values should produce a valid build.
```
## Description
An `ARG` used in an image reference should be valid when no build arguments are used. An image build should not require `--build-arg` to be used to produce a valid build.
## Examples
❌ Bad: don't rely on an ARG being set for an image reference to be valid
```dockerfile
ARG TAG
FROM busybox:${TAG}
```
✅ Good: include a default for the ARG
```dockerfile
ARG TAG=latest
FROM busybox:${TAG}
```
✅ Good: ARG can be empty if the image would be valid with it empty
```dockerfile
ARG VARIANT
FROM busybox:stable${VARIANT}
```
✅ Good: Use a default value if the build arg is not present
```dockerfile
ARG TAG
FROM alpine:${TAG:-3.14}
```
|