如何使用docker images命令按IMAGE ID过滤Docker镜像?
按IMAGE ID过滤Docker镜像列表的方法
最简单的原生方式(自动保留表头)
不用额外工具,直接在docker images后面加目标IMAGE ID(或者它的前缀,Docker会自动匹配),就能过滤出对应ID的所有镜像,还能保留完整表头:
docker images <你的IMAGE_ID>
举个例子,要是你的镜像ID是abc123def456,输入docker images abc123就会匹配所有ID以此前缀开头的镜像,输出和原命令一样带表头的表格。
精确匹配的进阶玩法(保留表头+无误判)
如果担心前缀匹配会误中其他镜像,想要精确匹配完整IMAGE ID,可以用docker images的--format自定义输出格式,再配合awk过滤,同时保住表头:
docker images --format "table {{.Repository}}\t{{.Tag}}\t{{.ID}}\t{{.CreatedSince}}\t{{.Size}}" | awk 'NR==1 || $3=="abc123def456"'
这里NR==1负责保留第一行的表头,$3=="abc123def456"则只保留第三列(IMAGE ID)完全等于目标ID的行。
关于docker images原生过滤参数的说明
目前docker images自带的--filter选项并不支持直接按IMAGE ID过滤,它只支持dangling(悬空镜像)、label(标签)、before/since(创建时间)、reference(仓库引用)这些条件,没法直接指定IMAGE ID筛选。
内容的提问来源于stack exchange,提问作者Tal Kohavy
相关产品推荐
相关产品推荐

