Docker를 오래 운영하다 보면 이미지, 컨테이너, 볼륨, 빌드 캐시 등이 계속 쌓이면서 디스크 공간이 부족해지는 경우가 많습니다. 특히 CI/CD 환경이나 개발 서버에서는 수백 개의 이미지와 캐시가 저장되어 수십 GB 이상의 공간을 차지하는 일도 흔하게 발생합니다.
이럴 때 사용하는 명령어가 바로 docker system df입니다.
Docker System DF는 Docker가 사용하는 디스크 공간을 확인하는 명령어입니다. 이미지, 컨테이너, 볼륨, Build Cache가 각각 얼마나 많은 저장 공간을 사용하는지 확인할 수 있어 디스크 용량 관리와 불필요한 데이터 정리에 매우 유용합니다.
이번 글에서는 Docker System DF의 개념부터 기본 사용법, 출력 결과 해석, 주요 옵션, 실무 활용 사례까지 자세히 알아보겠습니다.
Docker System DF란 무엇인가?
Docker System DF는 Docker에서 사용하는 디스크 사용량(Disk Usage)을 확인하는 명령어입니다.
현재 저장된 이미지, 컨테이너, 볼륨, Build Cache가 각각 얼마나 많은 공간을 차지하는지 한 번에 확인할 수 있습니다.
운영 서버의 디스크 공간이 부족할 때 가장 먼저 실행하는 Docker 관리 명령어 중 하나입니다.
Docker System DF는 언제 사용하는가?
다음과 같은 상황에서 많이 사용됩니다.
- 디스크 용량 부족
- Docker 저장 공간 확인
- 사용하지 않는 이미지 확인
- Build Cache 확인
- Docker 데이터 정리
- 서버 용량 점검
운영 환경에서는 정기적으로 확인하는 것이 좋습니다.
Docker System DF 기본 사용법
가장 기본적인 명령어는 다음과 같습니다.
docker system df
출력 예시는 다음과 같습니다.
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 18 5 6.2GB 3.8GB (61%)
Containers 10 4 210MB 120MB (57%)
Local Volumes 7 3 1.4GB 600MB (42%)
Build Cache 25 0 2.7GB 2.7GB
Docker가 사용하는 디스크 공간을 항목별로 확인할 수 있습니다.
출력 항목 설명
Docker System DF의 주요 항목은 다음과 같습니다.
| 항목 | 설명 |
|---|---|
| Images | Docker 이미지 |
| Containers | 컨테이너 |
| Local Volumes | Docker 볼륨 |
| Build Cache | 빌드 캐시 |
| SIZE | 사용 중인 용량 |
| RECLAIMABLE | 삭제 가능한 용량 |
특히 RECLAIMABLE 항목은 정리 가능한 공간을 확인할 때 매우 중요합니다.
상세 정보 확인
보다 자세한 정보를 확인하려면 -v 옵션을 사용합니다.
docker system df -v
출력 예시입니다.
Images space usage
REPOSITORY TAG IMAGE ID SIZE
nginx latest 9d17c1... 142MB
redis latest 7614ae... 117MB
ubuntu 24.04 d1f2bc... 78MB
각 이미지와 컨테이너의 용량을 개별적으로 확인할 수 있습니다.
이미지 용량 확인
-v 옵션에서는 이미지별 용량도 확인할 수 있습니다.
불필요하게 큰 이미지가 있는지 확인하고 정리할 수 있습니다.
특히 테스트용 이미지가 많이 쌓인 환경에서는 매우 유용합니다.
Build Cache 확인
Docker Build를 자주 수행하는 환경에서는 Build Cache가 많은 공간을 차지할 수 있습니다.
Docker System DF를 이용하면 Build Cache가 차지하는 공간도 쉽게 확인할 수 있습니다.
필요 없는 캐시는 docker builder prune 명령으로 삭제할 수 있습니다.
Docker System DF로 확인할 수 있는 정보
Docker System DF에서는 다음과 같은 정보를 확인할 수 있습니다.
- 이미지 개수
- 컨테이너 개수
- 볼륨 개수
- Build Cache 크기
- 전체 사용 용량
- 삭제 가능한 용량
운영 서버의 디스크 관리에 매우 중요한 정보들입니다.
Docker System DF 실무 활용 예제
Docker System DF는 Docker가 사용하는 디스크 공간을 확인하는 명령어로, 이미지와 컨테이너, 볼륨, Build Cache의 용량을 분석할 때 매우 유용합니다. 운영 서버에서 디스크 부족 문제가 발생했을 때 가장 먼저 실행하는 명령어 중 하나입니다.
Docker 전체 디스크 사용량 확인
현재 Docker가 사용하는 전체 디스크 공간을 확인합니다.
docker system df
출력 예시입니다.
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 15 6 4.5GB 2.3GB
Containers 8 4 180MB 90MB
Local Volumes 6 3 980MB 300MB
Build Cache 12 0 1.8GB 1.8GB
삭제 가능한 공간도 함께 확인할 수 있습니다.
상세 용량 확인
각 이미지와 컨테이너의 용량을 자세히 확인합니다.
docker system df -v
출력 예시입니다.
Images space usage
REPOSITORY TAG SIZE
nginx latest 142MB
redis latest 117MB
ubuntu 24.04 78MB
어떤 이미지가 많은 공간을 사용하는지 쉽게 확인할 수 있습니다.
정리 전 용량 확인
Docker 데이터를 정리하기 전에 현재 용량을 확인합니다.
docker system df
이후 불필요한 데이터를 삭제합니다.
docker system prune
정리 후 다시 확인합니다.
docker system df
얼마나 많은 공간이 확보되었는지 비교할 수 있습니다.
Build Cache 확인
빌드 캐시만 많이 쌓여 있는지 확인하는 예제입니다.
docker system df
Build Cache 용량이 크다면 다음 명령으로 삭제합니다.
docker builder prune
CI/CD 서버에서는 정기적으로 수행하는 것이 좋습니다.
Linux 서버 문제 해결
운영 중인 Ubuntu 서버에서 Docker 이미지를 새로 다운로드하려고 했지만 “No space left on device” 오류가 발생했습니다.
먼저 Docker가 사용하는 디스크 공간을 확인했습니다.
docker system df
확인 결과 Build Cache가 8GB 이상, 사용하지 않는 이미지가 12GB 이상을 차지하고 있었습니다.
보다 자세한 정보를 확인했습니다.
docker system df -v
오래된 테스트 이미지와 중지된 컨테이너가 많이 남아 있는 것을 확인했습니다.
불필요한 데이터를 정리했습니다.
docker system prune
사용하지 않는 Build Cache도 삭제했습니다.
docker builder prune
다시 Docker System DF를 실행한 결과 약 18GB의 디스크 공간을 확보할 수 있었고, 이후 새로운 이미지를 정상적으로 다운로드할 수 있었습니다.
Docker System DF 사용 시 주의사항
Docker System DF를 사용할 때는 다음 사항을 알아두는 것이 좋습니다.
첫 번째는 이 명령은 디스크 사용량만 확인하는 읽기 전용 명령이라는 점입니다.
데이터를 삭제하거나 변경하지 않으므로 안심하고 사용할 수 있습니다.
두 번째는 RECLAIMABLE 항목을 주의 깊게 확인하는 것이 좋습니다.
삭제 가능한 용량이 크다면 Docker 정리 명령을 통해 디스크 공간을 확보할 수 있습니다.
세 번째는 Build Cache가 예상보다 많은 공간을 차지하는 경우가 많습니다.
빌드를 자주 수행하는 서버에서는 정기적인 정리가 필요합니다.
네 번째는 Docker Volume은 실제 데이터를 저장하고 있을 수 있습니다.
볼륨을 삭제하기 전에는 반드시 필요한 데이터인지 확인해야 합니다.
Best Practice
Docker System DF를 사용할 때는 다음과 같은 방법을 추천합니다.
- 정기적으로 Docker 디스크 사용량을 확인합니다.
RECLAIMABLE공간을 주기적으로 점검합니다.- Build Cache는 정기적으로 정리합니다.
- 오래된 이미지와 중지된 컨테이너를 삭제합니다.
- 중요한 Docker Volume은 삭제 전에 반드시 백업합니다.
- Docker System DF와 Docker System Prune을 함께 활용합니다.
이러한 방법을 적용하면 Docker 서버의 디스크 공간을 효율적으로 관리할 수 있습니다.
자주 묻는 질문
Docker System DF는 데이터를 삭제하나요?
아닙니다.
현재 Docker가 사용하는 디스크 공간만 확인하는 명령어입니다.
RECLAIMABLE은 무엇을 의미하나요?
삭제하여 확보할 수 있는 디스크 공간을 의미합니다.
Docker 정리 작업 전 반드시 확인하는 것이 좋습니다.
Build Cache가 너무 큰데 삭제해도 되나요?
네.
필요하지 않은 Build Cache는 docker builder prune으로 안전하게 삭제할 수 있습니다.
다음 빌드 시 다시 생성됩니다.
Docker System DF와 Docker System Prune의 차이는 무엇인가요?
Docker System DF는 사용량을 확인합니다.
Docker System Prune은 사용하지 않는 Docker 데이터를 실제로 삭제합니다.
마무리
Docker System DF는 Docker가 사용하는 디스크 공간을 한눈에 확인할 수 있는 매우 중요한 관리 명령어입니다.
이미지, 컨테이너, 볼륨, Build Cache의 용량을 분석하여 불필요한 데이터를 찾아내고 디스크 부족 문제를 예방하는 데 큰 도움이 됩니다.
Docker System Prune, Docker Builder Prune, Docker Image Prune과 함께 활용하면 Docker 서버를 더욱 효율적으로 관리할 수 있습니다.