본문 바로가기
IT Knowledge/Docker

Docker 용량 확인 및 관리(df, prune)

by Seok. 2021. 9. 26.
반응형

Docker 사용하다 보면, 때로는 저장공간이 빨리 부족할 있습니다.

그때는, 이상 사용하지 않는 컨테이너는 정리하는 것이 좋습니다.

 

이때, 컨테이너 루트폴더를 검사해서 수동으로 삭제할 수도 있지만,

컨테이너, 네트워크, 이미지, 빌드 캐시는 아래의 명령어를 통해서 한번에 정리 있습니다.

 

[Docker 용량 정리]

  • docker container prune: 사용하지 않는 컨테이너 일괄 삭제
  • docker image prune: 사용하지 않는 이미지 삭제
  • docker vomule prune: 컨테이너에서 사용하지 않는 모든 볼륨 삭제
  • docker network prune: 컨테이너에서 사용하지 않는 모든 네트워크 삭제
  • docker system prune: 사용하지 않는 Docker 오브젝트 전부 삭제

 

$ docker system prune -a

(옵션 -a : all )

옵션: 특정 기준으로 삭제 대상을 필터링

Docker container prune 에는 'filter 옵션' 있습니다.

옵션을 이용하면, 특정 기준으로 필터링하여 삭제할 있습니다.

현재 지원되는 필터링 키는 label until 입니다.

* Until (<timestamp>) : 주어진 타임스탬프 이전에 생성된 컨테이너만 제거(타임스탬프 형식 : RFC3339)

* Label : 지정된 레이블이 있는 or 없는 레이블만 제거

            (label=<key>, label=<key>=<value>, label!=<key>, or label!=<key>=<value>)

 

예시)

# 생성된지 5 이상 지난 이미지만 삭제

$  docker container prune --force--filter"until=5m"

 

# 2017-01-04T13:10:00 이전에 생성한 이미지 삭제

$  docker container prune --force--filter"until=2017-01-04T13:10:00"

 

# dev 키가 없는 이미지 삭제

$  docker container prune --filter label!=dev

 

참고 : https://docs.docker.com/engine/reference/commandline/container_prune/


 

[Docker 이미지 용량 확인]

Docker Version 1.13 이후로는 아래의 명령으로 Docker 데몬이 사용하는 디스크 공간의 양에 대한 정보를 확인 있습니다.

 

$ docker system df -v

(-v = --verbose 사용하여 자세한 보기를 확인할 있습니다)

  • SIZE(이미지의 가상 크기) = SHARED SIZE + UNIQUE SIZE
  • SHARED SIZE : 이미지가 다른 이미지와 공유하는 공간(공통 데이터)
  • UNIQUE SIZE : 해당 이미지에서만 사용하는 공간

 

참고 : https://docs.docker.com/engine/reference/commandline/system_df/

반응형

댓글