피드로 돌아가기
Dev.toDevOps
원문 읽기
7.6GB VPS 내 Docker 리소스 최적화로 2.5GB 공간 확보
Docker Disk Fire: Root Cause Analysis on My 7.6 GB VPS
AI 요약
Context
제한된 자원의 VPS 환경에서 Docker의 Image Layer, Container Log, Volume 데이터가 누적되어 디스크 사용률 95%에 도달한 상황. 특히 잦은 이미지 업데이트와 로그 제어 부재로 인해 /var/lib/docker 디렉토리가 전체 용량의 85% 이상을 점유하는 병목 발생.
Technical Solution
- Dangling Image 및 미사용 Layer 제거를 통한 스토리지 파편화 해결
- docker-compose.yml 내 logging driver 설정을 통한 max-size 및 max-file 제한으로 로그 무한 증식 방지
- docker system prune -a 명령어를 활용한 태그 없는 이미지 및 정지된 컨테이너의 일괄 삭제
- docker volume ls -f dangling=true 필터링을 통한 유효하지 않은 데이터 볼륨 식별 및 제거
- CI/CD 파이프라인 내 docker builder prune 적용으로 빌드 캐시 누적 방지 구조 설계
Impact
- docker system prune -a 수행을 통해 약 2.5GB의 디스크 공간 즉시 회수
- /var/lib/docker 점유율 6.5GB에서 최적화 수준으로 감소
실천 포인트
- Docker 로그 드라이버에 max-size 제한 설정 적용 여부 확인 - 주기적인 docker system prune 스케줄링을 통한 미사용 리소스 정리 - /var/lib/docker 경로의 디스크 사용량 모니터링 알람 설정 - Build Cache 및 Dangling Volume의 정기적 제거 프로세스 구축