구식 키=값 형식

구식 키=값 형식 (LegacyKeyValueFormat)

빌드 체크 규칙 중 하나로, 환경 변수나 빌드 인자를 선언할 때 구식의 공백 분리(ENV key value) 형식을 쓴 경우를 알려줘요. 올바른 형식은 ENV key=value처럼 등호(=)로 키와 값을 구분하는 방식이에요.

출처: 문서

본문

Dockerfile에서 환경 변수와 빌드 인자를 선언하는 올바른 형식은 ENV key=valueARG key=value이고, 변수 이름(key)과 값(value) 사이를 등호(=)로 구분해요. 역사적으로는 키와 값 사이에 공백 구분자(예: ARG key value)도 지원됐지만, 이 구식 형식은 사용이 중단됐고 등호 형식만 사용해야 합니다.

출력 메시지

"ENV key=value" should be used instead of legacy "ENV key value" format

예시

❌ 나쁜 예: 변수 키와 값에 공백 구분자를 사용했어요.

FROM alpine
ARG foo bar

✅ 좋은 예: 키와 값을 등호로 구분해요.

FROM alpine
ARG foo=bar

❌ 나쁜 예: 공백 구분자를 쓰는 여러 줄 변수 선언이에요.

ENV DEPS \
    curl \
    git \
    make

✅ 좋은 예: 등호를 쓰고 값을 따옴표로 감싸요.

ENV DEPS="\
    curl \
    git \
    make"

여러 줄 구식 문법을 key=value 형식으로 바꿀 때는 앞쪽 공백에 주의하세요. 구식 형식에서는 연속 줄의 앞쪽 공백이 값에 포함돼요. 따옴표로 감싼 값의 경우에도 따옴표 안의 앞쪽 공백은 보존됩니다. 값에 앞쪽 공백을 넣고 싶지 않다면 새 형식으로 다시 쓸 때 제거해야 해요.

ENV DEPS="\
curl \
git \
make"

더 알아보기