운영 중 디스크 사용량 증가하면 아래 순서로 확인하면 됨.
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 운영시에 디스크 차면 어딜 봐야할지 보자.
'TIL' 카테고리의 다른 글
| Vite 외부 공격 요청을 보면서 정리한 보안 체크 5가지 (0) | 2026.08.31 |
|---|---|
| k3s 노드 DiskPressure 원인 추적 및 조치 (0) | 2026.08.27 |
| 다시 보는 Docker 기본 명령어 (0) | 2026.08.20 |
| Linkerd Canary 배포 (0) | 2026.08.17 |
| Linkerd TrafficSplit 기반 카나리 배포 원리 간단 정리. (0) | 2026.08.11 |