私は書くことができます
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はグロブもサポートしています。
$ 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
-そしてずっと、簡単な解決策はあなたが(n明示的な)フィルターをまったく必要としないということでした!
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 docker images --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