도커 이미지 레이어 분석
Docker Image Explorer
내보낸 이미지 tar를 열어 레이어별 명령·크기와 추가·삭제된 파일을 보여 줍니다.
내보낸 Docker·OCI 이미지를 열어 레이어마다 실제로 무엇이 들었는지 보여 줍니다. 크기, 그 레이어를 만든 Dockerfile 단계, 추가한 파일, 그리고 아래 레이어에서 지운 파일까지 나옵니다. 이미지가 왜 300메가바이트인지 알아내는 방법입니다.
내보낸 이미지(.tar) 놓기
`docker save image:tag -o image.tar`이나 podman save로 만든 파일입니다. 이 탭에서 읽고 아무것도 올리지 않습니다.
docker save tar와 OCI 이미지 레이아웃을 모두 엽니다. 설정의 history를 보고 레이어마다 대응하는 Dockerfile 단계를 맞춰 줍니다. empty_layer 로 표시된 단계 — ENV, CMD, LABEL — 는 레이어를 만들지 않아 따로 나열합니다. 삭제는 OCI whiteout 관례로 읽습니다. .wh.name 항목은 아래 레이어의 name 을 지웁니다. 파일은 아래 레이어에 그대로 남아 있고 용량도 그대로 차지합니다.사용 방법
이미지를 내보냅니다
`docker save image:tag -o image.tar`이나 그에 해당하는 `podman save`를 씁니다. OCI 이미지 레이아웃도 됩니다.
tar 파일을 놓습니다
이 탭의 워커에서 파싱합니다. 아무것도 올리지 않습니다. 이미지 tar에는 파일시스템 전체가 들어 있으니 중요한 부분입니다.
큰 레이어를 펼칩니다
줄마다 크기가 막대로, 대응하는 Dockerfile 단계가 함께 나옵니다. 펼치면 그 레이어가 추가한 큰 파일들이 나오고, 지운 것과 가린 것도 따로 나옵니다.
자주 묻는 질문
뒤쪽 RUN에서 지웠는데 왜 이미지가 그대로 큰가요?
삭제도 하나의 레이어이기 때문입니다. OCI whiteout 관례는 `.wh.name` 항목을 써서 아래 레이어의 `name`을 가릴 뿐입니다. 원래 파일은 그대로 있고, 그대로 배포되고, 그대로 용량을 차지합니다. 만든 것과 같은 `RUN` 안에서 지우거나 멀티 스테이지 빌드를 쓰세요.
어떤 Dockerfile 단계는 왜 레이어가 없나요?
ENV, CMD, LABEL, EXPOSE 같은 것들은 설정만 바꾸고 파일시스템은 건드리지 않습니다. 그래서 이미지 history가 `empty_layer`로 표시합니다. 여기서는 따로 나열해서, 실제로 용량을 쓰는 것과 레이어 번호가 어긋나지 않게 했습니다.
레지스트리에서 바로 열 수 있나요?
아니요. 로컬 tar만 읽습니다. 가져오려면 이 페이지가 레지스트리에 인증해야 하는데, 그건 위협 모델이 다른 별개의 도구입니다. `docker save` 한 번이면 됩니다.
여기 크기가 `docker images`와 다릅니다.
재는 대상이 다릅니다. `docker images`는 스토리지 드라이버가 공유 레이어를 중복 제거한 뒤의 디스크 크기이고, 여기는 내보낸 파일 안 각 레이어의 압축 전 내용 크기입니다. 둘 다 맞습니다. `docker pull`이 무엇을 옮기는지 알려 주는 쪽은 두 번째입니다.
이 도구로 이어지는 것
docker run 컴포즈 변환
docker run to Compose
docker run 명령을 compose 서비스 정의로 바꾸고 반대 방향 변환도 지원합니다.
WebAssembly 분석
WebAssembly Inspector
.wasm 모듈의 임포트·익스포트·메모리·섹션 크기를 나열하고 텍스트 형식으로 출력합니다.
Base64 인코딩·디코딩
Base64 Encoder & Decoder
텍스트와 파일을 Base64·Base64URL로 인코딩·디코딩하며 UTF-8을 올바르게 처리합니다.
공개키 쌍 생성
Key Pair Generator
RSA·ECDSA·Ed25519 키 쌍을 만들고 PEM·JWK·OpenSSH 형식으로 내보냅니다.
다음 단계
이 도구의 결과를 그대로 받을 수 있는 도구들입니다.
압축파일 구조 검사
Archive Inspector
압축을 풀지 않고 zip 내부를 열어 경로 이탈 항목·실행 파일·매크로·압축 폭탄을 표시합니다.
docker run 컴포즈 변환
docker run to Compose
docker run 명령을 compose 서비스 정의로 바꾸고 반대 방향 변환도 지원합니다.
16진수 뷰어
Hex Viewer
파일을 오프셋·16진수·아스키로 덤프하고 매직 바이트로 형식을 판별하며 검색 위치를 표시합니다.
JSON CSV 변환
JSON ⇄ CSV
중첩 JSON을 점 표기 열 이름으로 펼치거나, 표에서 객체를 다시 만듭니다.
JSON 비교
JSON Diff
키 순서를 무시하고 두 JSON을 구조로 비교해 추가·삭제·변경된 경로를 알려 줍니다.
JSON 정렬·검사
JSON Formatter & Validator
JSON을 보기 좋게 정렬하거나 압축하고, 문법 오류가 난 줄과 열을 정확히 짚어 줍니다.