TIL

Docker 디스크 부족 시 확인 방법

하얀잔디 2026. 8. 26. 14:15

운영 중 디스크 사용량 증가하면 아래 순서로 확인하면 됨.

 

1. 전체 디스크 확인

 
df -h
 

/ 사용률 확인함. 보통 Use%가 80~90% 이상이면 원인 확인 필요함.

 

 

2. Docker가 얼마나 사용하는지 확인

 
docker system df
 

이미지, 컨테이너, 볼륨, 빌드 캐시별 사용량 확인 가능함.

 

상세 확인:

 
docker system df -v
 

 

3. Docker 내부에서 어디가 큰지 확인

 
sudo du -xhd1 /var/lib/docker 2>/dev/null | sort -h
 

주로 확인할 디렉터리:

overlay2    → 이미지/컨테이너 레이어
containers  → 컨테이너 로그
volumes     → Docker Volume
image       → Docker 이미지 메타데이터
 

 

4. 컨테이너 로그가 큰지 확인

 
sudo find /var/lib/docker/containers -name "*-json.log" \
  -exec du -h {} \; | sort -h | tail -20
 

특정 컨테이너 로그가 수 GB씩 쌓여 있으면 로그가 디스크를 차지하는 원인일 가능성 높음.

 

5. overlay2가 큰 경우

 
sudo du -xhd1 /var/lib/docker/overlay2 2>/dev/null | sort -h | tail -20
 

단, overlay2 내부 파일/디렉터리를 직접 rm -rf 하면 안 됨. Docker가 관리하는 영역이라 컨테이너가 깨질 수 있음.

 

 

6. 불필요한 Docker 리소스 정리

dangling image 정리:

 
docker image prune
 

중지된 컨테이너 정리:

 
docker container prune
 

사용하지 않는 빌드 캐시 정리:

 
docker builder prune
 

전체적으로 정리할 경우:

 
docker system prune
 

운영 서버에서는 prune -a 사용 전에 삭제 대상 확인 필요함. 특히 docker image prune -a는 현재 컨테이너가 사용하지 않는 이미지까지 삭제할 수 있음.

운영 장애 대응 시 핵심 순서

 
df -h
↓
docker system df
↓
sudo du -xhd1 /var/lib/docker | sort -h
↓
containers / volumes / overlay2 등 큰 영역 확인
↓
해당 영역 상세 확인
 

이 정도만 기억해도 "디스크가 왜 찼는지 → Docker 때문인지 → Docker의 어디가 큰지" 빠르게 찾을 수 있음.

다음거에는 kube 운영시에 디스크 차면 어딜 봐야할지 보자.