Docker운영과 디버깅

prune과 cleanup

실험 후 남은 중지 컨테이너, dangling 이미지, 미사용 네트워크와 볼륨을 안전하게 정리하는 기본 카드를 정리합니다.

마지막 수정 2026년 3월 19일

기본 패턴

bash
docker system prune

설명

  • Docker를 자주 쓰다 보면 중지된 컨테이너, dangling 이미지, 미사용 네트워크, 빌드 캐시가 계속 쌓입니다.
  • docker system prune은 이런 미사용 객체를 한 번에 정리하는 대표 명령입니다.
  • 다만 기본적으로 볼륨은 지우지 않으므로, 데이터까지 정리하려면 --volumes를 별도로 붙여야 합니다.
  • 따라서 정리 대상이 "임시 실험 흔적"인지, "나중에 다시 써야 할 데이터"인지 먼저 구분하는 습관이 중요합니다.
  • 실험 환경에서는 매우 편리하지만, 영속 데이터가 있는 개발 환경이나 운영 환경에서는 범위를 좁혀 신중히 써야 합니다.

짧은 예제

bash
docker ps -a
docker image ls
docker system prune

# 볼륨까지 포함해 정리할 때
docker system prune --volumes

빠른 정리

명령정리 대상
docker system prune중지 컨테이너, 미사용 네트워크, dangling 이미지, 캐시
docker system prune --volumes위 대상 + 사용되지 않는 볼륨
docker image prune이미지 위주 정리
docker volume prune미사용 볼륨 정리
핵심 판단임시 객체인지 영속 데이터인지 구분

주의할 점

--volumes는 생각보다 파괴적입니다. 특히 DB 데이터를 볼륨에 두고 있다면, 정말 미사용인지 먼저 확인하지 않으면 복구하기 어려운 손실이 생길 수 있습니다.

참고 링크

1 sources