win 10的PowerShell下删除所有Docker镜像中tag为<none> 的镜像
参考了https://www.zixi.org/archives/docker_images_filter.html
重新整理出的方法记录在此。
docker images filter 镜像查询过滤方式
1) 找出tag为<none>
的
docker images -f "dangling=true"
2)找出tag为<none>
的镜像,加参数-q, 只显示sha值
docker images --filter dangling=true -q --no-trunc
sha256:d866e249366a3b9d3b4ea1927576c78da5887c5ef52a6a92eeba47bdbb7da178
sha256:96288d6bb4a62e6ec79c22d99e4d59024a835f0de02b2c423cd85e146fe74b38
sha256:d408c866fc8b09ff1c05fa079f8971b8ee14da085571f07b37835306cdbefae9
sha256:da8c2b5f54be2673421013a663ac5e72bec0832f06209596d9c8a2afc9ebff80
sha256:9b691b94eae4f25a5f723ded3bf1fe309f076cb1ff4f1493fce6aa50f2c0f581
3)找出tag为<none>
的镜像,显示完整信息
docker images --filter dangling=true --no-trunc
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> sha256:d866e249366a3b9d3b4ea1927576c78da5887c5ef52a6a92eeba47bdbb7da178 3 hours ago 64.2MB
<none> <none> sha256:96288d6bb4a62e6ec79c22d99e4d59024a835f0de02b2c423cd85e146fe74b38 3 hours ago 114MB
<none> <none> sha256:d408c866fc8b09ff1c05fa079f8971b8ee14da085571f07b37835306cdbefae9 3 hours ago 114MB
<none> <none> sha256:da8c2b5f54be2673421013a663ac5e72bec0832f06209596d9c8a2afc9ebff80 4 hours ago 114MB
<none> <none> sha256:9b691b94eae4f25a5f723ded3bf1fe309f076cb1ff4f1493fce6aa50f2c0f581 9 hours ago 98.8MB
删除所有Docker镜像总tag为<none>
的 的镜像 的指令:
V:\dockers\gnome-3-28-1804DockerBuild>docker rmi (docker images --filter dangling=true -q --no-trunc)
原来的镜像
执行后的结果
----------------------------------------------------------------------------------------------------------------------------
其它参数的应用
- 找出tag为
<none>
的, 只返回image id
docker images -f "dangling=true" -q
- 根据repository名称和tag模糊过滤,如果repository有
/
或小数点符号,通过*
是无法匹配的
docker images --filter=reference='busy*:*libc'
- 使用
before
或since
根据时间查找,实际上以repository的名字作为时间分隔,
docker images --filter "before=image1"
docker images --filter "since=image2"
- 此外还有label,
label=<key>
orlabel=<key>=<value>
docker images --filter "label=com.example.version"
,
docker image inspect <image id>
。