按存储库名称筛选docker图像

按存储库名称筛选docker图像,docker,Docker,使用命令docker images,您可以列出主机上的所有图像: REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE scdockerdemo_php latest 155d80ea7642 4 minutes ago 265.3 MB scdockerdemo_node

使用命令
docker images
,您可以列出主机上的所有图像:

REPOSITORY                   TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
scdockerdemo_php             latest              155d80ea7642        4 minutes ago       265.3 MB
scdockerdemo_node            latest              6189bc65c3fe        8 minutes ago       861.4 MB
php                          5.6-apache          fc50bce69ea0        3 days ago          481.3 MB
node                         4.1                 fc81e574af43        3 days ago          641.1 MB
使用
docker images-f“tag=latest”
,您可以筛选具有特定标记的图像

如何筛选存储库名称?例如,
docker图像-f“repository=scdockerdemo”

此命令始终返回无效的筛选器“存储库”

根据,过滤器选项当前仅支持“悬挂=真”

如果您使用的是Bash,最简单的方法可能是:

$ docker images | grep scdockerdemo
或者,您可以尝试使用awk匹配第一列中的字符串:

$ docker images | awk '$1 ~ /scdockerdemo/ { print }'

如果要按存储库名称进行筛选(例如:testImage),只需使用以下选项:

docker images testImage
当您有多个具有相同存储库名称但标记不同的图像时,可以使用
:'
(例如,
testImage:
)在存储库名称上指定标记

来源:

您可以通过(将
名称
标记
组合起来)过滤图像:


根据位于的文档,您可以通过使用双引号进行通配符匹配:

docker图像“scdockerdemo”

**特殊字符** 当存储库名称中有“/”等特殊字符时,应将其转义为按存储库名称进行筛选

ex)


提供另一个选项供参考

docker images | ruby-ne"如果$$=~/harbor/'


谢谢你的链接和回答。这似乎是目前唯一的选择。但是这不能作为docker命令的参数,例如docker rmi$(docker images | grep scdockerdemo)我已经编辑了我的答案-尝试将第一列中的存储库名称与awk匹配。然后你可以
dockerrmi$(dockerimages | awk'$1~/scdockerdemo/{print$3}')
。太棒了!非常感谢,这是anwser!回答得很好。这还允许将存储库用作过滤器(例如powershell docker rmi$(docker images*-q))。用法:
docker images[OPTIONS][repository[:TAG]]
文档的精确部分:好消息,您还可以在标记名中使用通配符,如
docker images java:8*
docker images tomcat:7*
!救生员回答!我用它在不接触其他图像的情况下清理某个图像(bash):“docker images some image name-q | xargs docker rmi-f”更改为使用正确的命令
images
vs
image
,并将repo name+通配符用双引号括起来,以便识别通配符。同样值得一提的是,如果名称与“docker.elastic.co/logstash/logstash”您需要应用两个通配符:“docker.elastic.co/*/*”,否则它将不起作用。重要提示。如果名称看起来像:“docker.elastic.co/logstash/logstash”,则需要以“docker.elastic.co/*/*”的形式应用匹配,否则它将不起作用。
docker image ls --filter 'reference=scdockerdemo_*'
> docker images "zirho6\/*"
REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
zirho6/aaaa              latest              946bf5cc28fc        2 days ago          997MB
zirho6/bbbb              latest              741a6e368d07        10 days ago         866MB
zirho6/ccc               latest              173b36570522        12 days ago         853MB
zirho6/dddd              latest              e08e5c202e9b        13 days ago         853MB