Docker Prune

vernolog·2024년 11월 23일
post-thumbnail

docker prune으로 사용하지 않는 저장공간을 확보할 수 있다.

삭제데이터는 복구가 불가능하기에 꼭 한번더 체크하는 것이 좋다. 특히 프로덕션 환경에서 실행중인 리소스가 영향을 받지 않도록 필터를 통해 제한을 두는 것도 좋다.

참고로 docker 관련 데이터는 기본적으로 /var/lib/docker/에 설치된다.

개별 리소스 정리

중지된 컨테이너 삭제

중지된 상태의 모든 컨테이너를 삭제한다.

docker container prune

아래와 같이 특정 조건에 맞는 컨테이너만 삭제 가능하다.

docker container prune --filter "until=24h"

사용되지 않는 이미지 삭제

태그가 없는(dangling) 이미지를 삭제한다.

docker image prune

-a 또는 --all 옵션을 통해 사용되지 않는 모든 이미지를 삭제한다.

docker image prune -a

또한 --filter 옵션을 통해 특정 조건에 맞는 이미지만 삭제 가능하다. 하지만 특정 조건을 제외한 이미지들을 제거할 수는 없다. label!=keep=true 와 같이 keep key가 true인 이미지를 제외하고는 모두 제거할 수 있도록 하고 싶었는데, 지원을 하지 않는다고 함

사용되지 않는 네트워크 삭제

마찬가지로 이도 --filter 옵션이 가능함

docker network prune

사용되지 않는 볼륨 삭제

사용되지 않는 모든 볼륨을 삭제한다.

docker volume prune

통합 리소스 삭제

아래 요소들을 한번에 제거한다. dangling 상태의 이미지(태그 없는 이미지)만 삭제되고, 개별적으로 정리할 수 없었던 docker cache도 이 명령어를 통해 제거된다.

  • all stopped containers
  • all networks not used by at least one container
  • all dangling images
  • unused build cache
docker system prune

--force 또는 -f 옵션으로 삭제 전 확인 메시지를 생략할 수 있다. 다른 개별 리소스 삭제를 할 때도 사용될 수 있다.

docker system prune -f

-a--volumes 옵션으로 도커 볼륨과 사용되지 않는 이미지를 지울 수 있다.

docker system prune -a --volumes

0개의 댓글