FROM에서 정의되지 않은 빌드 인자
FROM에서 정의되지 않은 빌드 인자 (UndefinedArgInFrom)
빌드 체크 규칙 중 하나로, FROM 지시어에서 정의되지 않은 빌드 인자를 사용하는 경우를 알려줘요. 올바르게 선언된 ARG라면 빌드를 유연하게 만들 수 있지만, 선언 없이 쓰면 오작동의 원인이 됩니다.
출처: 문서
본문
이 규칙은 FROM 지시어에서 정의되지 않은 빌드 인자를 사용하는 경우를 경고해요. FROM 지시어에 빌드 인자를 보간하면 빌드를 유연하게 하고, 스테이지의 베이스 이미지를 재정의할 수 있어요. 예를 들어 빌드 인자로 이미지 태그를 지정할 수 있죠.
ARG ALPINE_VERSION=3.20
FROM alpine:${ALPINE_VERSION}
이렇게 하면 빌드 인자를 지정해서 다른 alpine 버전으로 빌드할 수 있어요.
$ docker buildx build --build-arg ALPINE_VERSION=edge .
이 체크는 또한 BUILDPLATFORM처럼 내장 빌드 인자를 오타로 잘못 참조하는 경우도 감지하고 경고해요.
출력 메시지
FROM argument 'VARIANT' is not declared
예시
❌ 나쁜 예: VARIANT 빌드 인자가 정의되지 않았어요.
FROM node:22${VARIANT} AS jsbuilder
✅ 좋은 예: VARIANT 빌드 인자를 정의했어요.
ARG VARIANT="-alpine3.20"
FROM node:22${VARIANT} AS jsbuilder
더 알아보기
- FROM에서 기본값 없는 빌드 인자 (InvalidDefaultArgInFrom): FROM의 ARG 기본값 규칙을 확인해요.
- 정의되지 않은 변수 (UndefinedVar): 정의되지 않은 변수 사용 규칙을 살펴봐요.