docker volume prune

docker volume prune

docker volume prune은 사용하지 않는 로컬 볼륨을 모두 제거하는 명령이에요. 더 이상 참조하지 않는 볼륨을 정리해서 디스크 공간을 확보하고 싶을 때 사용해요.

출처: 문서

본문

docker volume prune은 사용하지 않는 로컬 볼륨을 모두 제거해요. 사용하지 않는 로컬 볼륨은 어떤 컨테이너도 참조하지 않는 볼륨이에요. 기본적으로 익명 볼륨(anonymous volume)만 제거해요.

docker volume prune [OPTIONS]

지원하는 옵션은 다음과 같아요.

옵션 기본값 설명
-a, --all API 1.42+ 익명 볼륨뿐 아니라 사용하지 않는 모든 볼륨을 제거해요.
--filter 필터 값을 제공해요 (예: label=).
-f, --force 확인을 묻지 않아요.

예시

$ docker volume prune

WARNING! This will remove anonymous local volumes not used by at least one container.
Are you sure you want to continue? [y/N] y
Deleted Volumes:
07c7bdf3e34ab76d921894c2b834f073721fccfbbcba792aa7648e3a7a664c2e

Total reclaimed space: 36 B

모든 볼륨 정리 (--all, -a)

--all 플래그로 사용하지 않는 익명 볼륨과 이름 있는 볼륨을 모두 정리할 수 있어요.

필터링 (--filter)

--filter 형식은 key=value예요. 여러 필터를 줄 수 있어요.

여러 필터의 조합 규칙은 다음과 같아요.

  • 키가 다른 여러 필터는 AND 논리로 결합돼요. 모든 조건을 만족해야 정리돼요.
  • 키가 같은 여러 필터는 OR 논리로 결합돼요. 해당 키의 값 중 하나라도 일치하면 정리돼요.

예를 들어 --filter "label=foo" --filter "label=bar"foo 또는 bar 라벨을 가진 볼륨을 정리하고, --filter "label=foo" --filter "label!=bar"foo 라벨이 있고 bar 라벨이 없는 볼륨을 정리해요.

지원하는 필터는 label뿐이에요. label=...(또는 label==) 형식은 지정한 라벨이 있는 볼륨을 제거하고, label!=...(또는 label!==) 형식은 지정한 라벨이 없는 볼륨을 제거해요.

더 알아보기