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/
'IT Knowledge > Docker' 카테고리의 다른 글
Docker Proxy Setting (1) | 2023.09.03 |
---|---|
Docker.sock 일반 계정 사용 권한 이슈(permission denied) (2) | 2022.01.05 |
Docker 간단한 Node.js 앱 만들기 (0) | 2021.09.08 |
[Docker] Install Docker Engine on CentOS (0) | 2021.06.10 |
댓글