빌드 체크

빌드 체크 (Build checks)

BuildKit은 Dockerfile과 빌드 모범 사례를 강제하기 위한 사전 정의된 규칙 세트를 기반으로 빌드 구성을 분석하는 내장 지원을 제공해요. 이 규칙을 따르면 오류를 피하고 Dockerfile의 가독성을 보장할 수 있어요.

출처: 문서

본문

BuildKit은 Dockerfile과 빌드 모범 사례를 강제하기 위한 사전 정의된 규칙 세트를 기반으로 빌드 구성을 분석하는 내장 지원을 제공해요. 이 규칙을 따르면 오류를 피하고 Dockerfile의 가독성을 보장할 수 있어요.

체크는 빌드 호출처럼 실행되지만 빌드 출력을 만들지 않고, 대신 빌드가 어떤 규칙도 위반하지 않는지 검증하는 일련의 검사를 수행해요. 체크를 실행하려면 --check 플래그를 사용해요.

$ docker build --check .

빌드 체크를 사용하는 방법에 대해 더 알아보려면 Checking your build configuration을 참조하세요.

이름 설명
StageNameCasing 스테이지 이름은 소문자여야 함
FromAsCasing 'as' 키워드는 'from' 키워드의 대소문자와 일치해야 함
NoEmptyContinuation 빈 연속 줄은 향후 릴리스에서 오류가 됨
ConsistentInstructionCasing Dockerfile 내 모든 명령은 같은 대소문자(대문자 또는 소문자)를 사용해야 함
DuplicateStageName 스테이지 이름은 고유해야 함
ReservedStageName 예약어는 스테이지 이름으로 사용해서는 안 됨
JSONArgsRecommended OS 신호와 관련된 의도하지 않은 동작을 방지하려면 ENTRYPOINT/CMD에 JSON 인자 권장
MaintainerDeprecated MAINTAINER 지시문은 폐기 예정이며, 이미지 작성자를 정의하려면 라벨을 대신 사용
UndefinedArgInFrom FROM 명령은 선언된 ARG를 사용해야 함
WorkdirRelativePath 빌드 내에서 절대 workdir이 선언되지 않은 상대 workdir은 베이스 이미지가 변경되면 예상치 못한 결과가 발생할 수 있음
UndefinedVar 변수는 사용 전에 정의되어야 함
MultipleInstructionsDisallowed 같은 유형의 지시문 여러 개를 같은 스테이지에서 사용해서는 안 됨
LegacyKeyValueFormat 공백 구분자의 레거시 키/값 형식은 사용해서는 안 됨
RedundantTargetPlatform FROM에서 사전 정의된 $TARGETPLATFORM으로 platform을 설정하는 것은 기본 동작이므로 중복됨
SecretsUsedInArgOrEnv 민감한 데이터를 ARG나 ENV 명령에 사용해서는 안 됨
InvalidDefaultArgInFrom 전역 ARG의 기본값이 비어 있거나 유효하지 않은 베이스 이미지 이름을 만듦
FromPlatformFlagConstDisallowed FROM --platform 플래그는 상수 값을 사용해서는 안 됨
CopyIgnoredFile .dockerignore에 제외된 파일을 복사하려 시도
InvalidDefinitionDescription (실험적) 빌드 스테이지나 인자의 주석은 # 형식을 따라야 함. 설명 주석으로 의도되지 않았다면 지시문과 주석 사이에 빈 줄이나 주석을 추가
ExposeProtoCasing EXPOSE... (프로토콜 대소문자)

더 알아보기 (Learn more)