
중지된 Docker 컨테이너에서 이미지 대비 생성·변경된 파일의 크기를 확인하려면 docker inspect --size로 조회한 SizeRw를 읽으면 됩니다. 단위는 바이트이며, 크기 조회를 위해 컨테이너를 다시 실행할 필요는 없습니다.
변경 파일 크기와 전체 파일 크기를 구분해야 하는 이유
컨테이너의 전체 파일 크기가 궁금한 경우와 이미지에서 달라진 파일의 크기가 궁금한 경우는 확인할 필드가 다릅니다. --size는 일반 inspect 결과에 다음 두 필드를 추가합니다.
| 필드 | 의미 | 단위 |
|---|---|---|
SizeRw |
이미지를 기준으로 컨테이너에서 생성되거나 변경된 파일의 크기 | 바이트 |
SizeRootFs |
컨테이너에 있는 전체 파일의 크기 | 바이트 |
따라서 질문의 답은 SizeRw입니다. 전체 크기에서 다른 값을 빼서 계산할 필요 없이 해당 필드를 직접 조회합니다.
중지된 컨테이너에서 SizeRw 조회하기
Docker CLI로 대상 Docker 데몬에 접근할 수 있어야 하며, 조회할 컨테이너가 삭제되지 않고 남아 있어야 합니다. 대상 컨테이너의 이름 또는 ID를 준비하고, 아래의 stopped-app을 실제 값으로 바꿉니다.
docker inspect --type=container --size stopped-app
정상적으로 조회되면 기본 JSON 배열 결과에 SizeRw와 SizeRootFs가 포함됩니다. --type=container는 같은 이름의 다른 Docker 객체와 혼동하지 않도록 조회 대상을 컨테이너로 제한합니다. --size의 짧은 표기는 -s이며, 크기 조회 옵션은 컨테이너에만 적용됩니다.
생성·변경된 파일의 크기만 필요하다면 --format으로 해당 필드만 출력합니다.
docker inspect --type=container --size --format '{{ .SizeRw }}' stopped-app
예상되는 출력 형식은 바이트 단위의 숫자 하나입니다. 템플릿의 .SizeRw는 inspect 결과에서 읽을 필드를 지정합니다.
예시: 변경 파일 2 MiB와 전체 파일 100 MiB 해석하기
두 값을 함께 확인하려면 다음처럼 필드 이름을 붙여 출력할 수 있습니다.
docker inspect --type=container --size --format 'SizeRw={{ .SizeRw }} bytes, SizeRootFs={{ .SizeRootFs }} bytes' stopped-app
설명을 위한 가상 출력이 다음과 같다고 가정하겠습니다. 실제 값은 대상 컨테이너에 따라 달라집니다.
SizeRw=2097152 bytes, SizeRootFs=104857600 bytes
SizeRw=2097152: 이미지 대비 생성·변경된 파일의 크기는 2 MiB입니다.SizeRootFs=104857600: 컨테이너의 전체 파일 크기는 100 MiB입니다.
여기서 100 MiB 전체를 실행 중에 새로 만든 데이터로 해석하면 안 됩니다. 또한 2 MiB는 생성된 파일과 변경된 파일을 함께 나타내므로, 새 파일만의 크기로 읽어서도 안 됩니다. MiB로 환산할 때는 바이트 값을 1,048,576으로 나눕니다.
집계값으로 알 수 있는 범위와 흔한 실수
--size를 빠뜨리지 않습니다. 두 크기 필드는 이 옵션으로 추가됩니다.SizeRw를 변경한 글자나 바이트만의 합으로 해석하지 않습니다. 문서상 의미는 생성·변경된 파일의 크기입니다.- 이 두 값만으로 어떤 파일이 변경되었는지, 각 파일의 크기가 얼마인지는 알 수 없습니다. 제공되는 값은 집계 크기입니다.
SizeRootFs와SizeRw를 더하지 않습니다. 두 필드는 별도로 합산할 항목이 아니라 전체 파일 크기와 생성·변경된 파일 크기를 각각 설명합니다.
실무에서는 대상 이름이나 ID를 명확히 지정하고 --size --format '{{ .SizeRw }}'로 필요한 바이트 값을 기록하면 됩니다. 전체 파일 크기와 비교할 필요가 있을 때만 SizeRootFs를 함께 확인하세요.