빌드 체크
빌드 체크 (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... (프로토콜 대소문자) |