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도 이 명령어를 통해 제거된다.
docker system prune
--force 또는 -f 옵션으로 삭제 전 확인 메시지를 생략할 수 있다. 다른 개별 리소스 삭제를 할 때도 사용될 수 있다.
docker system prune -f
-a 와 --volumes 옵션으로 도커 볼륨과 사용되지 않는 이미지를 지울 수 있다.
docker system prune -a --volumes