컨테이너 빌드 단계 분석기
이 로컬 제한 분석기는 Dockerfile을 텍스트로 읽습니다. FROM·COPY --from의 단계 관계를 연결하고, 사용자가 입력한 유효 context 파일 목록과 COPY/ADD 소스를 대조하며, 선택한 대상 단계의 의존 경로를 보여 줍니다. 목록에 있는 파일을 변경한다고 가정하면 보수적인 하위 영향 경로를 표시합니다. 외부 이미지·명명 context는 검증할 수 없으며 이미지 빌드·RUN 실행·로컬 파일 읽기·레지스트리 접속·Docker 동작 인증은 하지 않습니다.
주요 기능
- FROM/AS와 COPY --from의 이름·숫자 단계 참조를 해석
- 대상 단계의 의존 경로와 미사용 단계를 그래프·접근 가능한 간선 표로 표시
- 사용자가 적은 유효 context 목록에 단순 경로·* / ? COPY/ADD 소스를 대조
- 누락된 목록 파일, 잘못된 숫자 단계, 후방 alias, 중복 alias와 순환을 진단
- 목록의 변경 파일에서 직접 복사와 의존 단계로 이어지는 경로 표시
- Dockerfile 실행 없이 제한된 JSON 보고서와 Graphviz DOT 저장
사용 방법
- 3단계 예제를 불러오거나 제한된 Dockerfile을 붙여 넣습니다.
- 실제 빌드에 전달되는 유효 context 파일을 줄마다 입력하고, 필요하면 그중 변경 파일 하나를 지정합니다.
- 분석 후 대상 단계를 선택해 의존 경로·오류·검토 사항·변경 영향을 확인합니다.
- JSON 또는 DOT를 저장해 검토하고 실제 빌드는 Docker에서 별도로 검증합니다.
활용 예시
- 최종 단계가 빌더 단계에 의존하는지 검토
- COPY 전에 context 파일 누락 확인
- src/index.ts 수정이 deps가 아닌 build/runtime에 미칠 수 있는 경로 확인
- 외부 COPY 이미지와 잘못된 숫자 단계 참조 구분
자주 묻는 질문
docker build나 RUN을 실행하나요?
아니요. 브라우저에서 텍스트만 읽습니다. 이미지 생성·명령 실행·이미지 다운로드·도구 API 전송은 없습니다.
모르는 COPY --from 이름은 무조건 없는 단계인가요?
아닙니다. Docker는 외부 이미지나 명명 context에서도 복사할 수 있습니다. 여기서는 확인 불가한 외부 소스로 표시하고, 이전에 없는 숫자 단계나 뒤에서 정의되는 alias는 별도로 진단합니다.
context 목록은 무엇인가요?
무시 규칙을 적용한 뒤 실제 빌드가 볼 수 있는 유효 파일을 입력하세요. 이 도구는 로컬 폴더를 읽거나 .dockerignore를 평가하지 않습니다. 빈 목록이면 소스를 누락으로 단정하지 않고 확인 불가로 표시합니다.
영향 경로가 실제 Docker 캐시 적중을 예측하나요?
아닙니다. 선택한 파일에서 이어지는 보수적인 정적 의존 경로입니다. 실제 캐시는 내용·메타데이터·빌드 인자·기본 이미지·마운트·COPY 옵션·빌더 버전의 영향을 받습니다.
일부 Dockerfile에서 지원 범위 경고가 나오는 이유는 무엇인가요?
기본 escape Dockerfile의 문서화한 일부만 해석합니다. 동적 변수·복잡한 glob·heredoc·ONBUILD·RUN mount·특수 COPY 옵션은 완전히 분석하지 못하므로 Docker에서 검토하세요.
개인정보 안내
Dockerfile 텍스트와 context 경로는 브라우저 메모리에 머뭅니다. JSON/DOT는 저장 버튼을 눌렀을 때에만 생성합니다. 보고서에는 원문 RUN 명령을 넣지 않습니다. 업로드·레지스트리 조회·명령 실행은 없습니다.
댓글과 질문