난 쓸수있다
docker images --filter "dangling=true"
다른 어떤 필터를 사용할 수 있습니까?
이런 식으로 사용할 수 있습니까?
docker images --filter "running=false"
답변:
Docker v1.13.0은 다음 조건을 지원합니다.
-f, --filter value Filter output based on conditions provided (default [])
- dangling=(true|false)
- label=<key> or label=<key>=<value>
- before=(<image-name>[:tag]|<image-id>|<image@digest>)
- since=(<image-name>[:tag]|<image-id>|<image@digest>)
- reference=(pattern of an image reference)
또는 grep
일부 값으로 이미지를 필터링 하는 데 사용 합니다.
$ docker images | grep somevalue
docker images -f "reference=*/*/*latest"
- 이것은 당신에게 같은 것을 얻을 것입니다 k8s:30000/github/someImage:latest
. 또는 docker images -f "reference=*/*latest"
당신을 얻을 것 k8s:30000/someImage:latest
입니다. 정리하고 싶다면docker rmi $(docker images -f "reference=*/*/*latest" -q --no-trunc)
REPOSITORY
인수를 사용 docker images
하여 이미지를 필터링 할 수도 있습니다 .
예를 들어 이미지가 있다고 가정합니다.
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
local-foo latest 17864104b328 2 months ago 100 MB
example.com/bar latest b94c37de2801 9 months ago 285 MB
example.com/baz latest a004e3ac682c 2 years ago 221 MB
주어진 이름을 가진 모든 이미지를 명시 적으로 필터링 할 수 있습니다.
$ docker images example.com/bar
REPOSITORY TAG IMAGE ID CREATED SIZE
example.com/bar latest b94c37de2801 9 months ago 285 MB
Docker는 globbing도 지원합니다.
$ docker images "example.com/*"
REPOSITORY TAG IMAGE ID CREATED SIZE
example.com/bar latest b94c37de2801 9 months ago 285 MB
example.com/baz latest a004e3ac682c 2 years ago 221 MB
*
에는 적용되지 않습니다 와일드 카드 문자 /
저장소 이름을. 따라서 마지막 예에서 태그가 latest
있는 모든 이미지를 나열 하려면 명령 docker images --filter=reference='*:latest'
이 잘못되었습니다. 올바른 명령은 docker images --filter=reference='*/*:latest'
입니다.
--filter name=something
-그리고 계속해서 간단한 해결책은 (명시 적) 필터가 전혀 필요하지 않다는 것입니다!
openapitools/openapi-generator-cli
다음 docker images open*
그것을 찾을 수 없습니다. 그러나 docker images open*/*
그것을 찾을 것입니다.
Docker v1.7에서 :
현재 지원되는 필터는 다음과 같습니다.
true
또는 false
)label=<key>
또는 label=<key>=<value>
)before=<image-name>[:tag]|<image-id>|<image@digest>
since=(<image-name>[:tag]|<image-id>|<image@digest>)
sudo 도커 이미지 --filter "running = false"
중지 된 오래된 컨테이너를 청소하려면 다음을 사용할 수 있습니다.
docker container prune
태그가없는 이미지를 제거하려면 다음을 사용할 수 있습니다.
docker image prune
버전 17.09 ++에서 작동하는 또 다른 예가 있습니다.
sudo docker rmi $(sudo docker images -f=reference="registry.gitlab.com/example-app" -f "dangling=true" -q)
설명:
reference
-저장소 이름으로 이미지를 참조하고 있습니다.dangling=true
-태그가없는 이미지를 제거합니다.-q
-전체 라인이 아니라 이미지의 숫자 ID 만 표시하는 조용함을 의미합니다.이 명령은 저장소 이름이 "registry.gitlab.com/example-app"이고 태그가 지정되지 않은 ( <none>
태그 열에 있음) 모든 이미지를 제거합니다.
참조 링크 : https://docs.docker.com/engine/reference/commandline/images/#filtering