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

더 알아보기