위키득계정 ↗
기술

Hadolint

Hadolint기술
검사 대상
Dockerfile
구현 언어
Haskell
분석 방식
구문 트리에 규칙 적용
연계 도구
ShellCheck
Hadolint는 컨테이너 이미지를 만드는 Dockerfile을 정적으로 검사하는 도구다. 명령의 구조에 규칙을 적용하고 RUN 안의 셸 코드는 ShellCheck과 연계해 분석한다.

빌드 전에 정의 파일 검사

Dockerfile은 이미지를 어떤 순서와 조건으로 구성할지 표현한다. Hadolint는 이 파일을 구문 트리로 해석한 뒤 검사 규칙을 적용한다. 이미지 빌드 자체를 수행하는 도구와 달리 정의 파일의 문제와 권장 작성 방식에서 벗어난 부분을 찾는 역할이다.

셸 코드까지 연결

RUN 명령에는 셸에서 실행할 코드가 들어갈 수 있다. Dockerfile의 명령 구조가 올바르더라도 내부 셸 표현에는 다른 문제가 남을 수 있다. Hadolint는 ShellCheck을 활용해 Bash 코드의 문제를 함께 확인하므로 두 종류의 검사를 연결할 수 있다.

프로젝트별 검사 정책

설정 파일로 특정 규칙을 제외하거나 중요도를 조정할 수 있다. 허용할 이미지 레지스트리와 라벨 형식을 지정하는 검사도 지원한다. 실패로 처리할 진단 수준을 정하면 CI의 통과 조건에 연결할 수 있으며, 결과를 JSON이나 SARIF 같은 형식으로 출력할 수도 있다.

관련 문서

ShellCheck / BuildKit / Docker Buildx / CodeQL