Docker images 按 SIZE 排序
你可以借助 --format
把镜像列表输出成可排序的纯文本,然后用 sort -h
(针对人类可读的尺寸单位)来排序。比如,下面两种方式都可以按 SIZE 升序或降序排列:
1. 按 SIZE 升序
docker images \
--format "{{.Size}}\t{{.Repository}}\t{{.Tag}}\t{{.ID}}" \
| sort -h
输出示例:
40.4MB syncthing/syncthing latest 90e4c78a38cf
53.6MB ghcr.io/xtls/xray-core latest 1da722e9a441
2. 按 SIZE 降序
docker images \
--format "{{.Size}}\t{{.Repository}}\t{{.Tag}}\t{{.ID}}" \
| sort -hr
输出示例:
53.6MB ghcr.io/xtls/xray-core latest 1da722e9a441
40.4MB syncthing/syncthing latest 90e4c78a38cf
说明
--format "{{.Size}}\t{{.Repository}}\t{{.Tag}}\t{{.ID}}"
自定义输出列,第一列为 SIZE,后面依次是 REPOSITORY、TAG、IMAGE ID,用 \t
分隔方便排序。
sort -h
根据 “人类可读” 的数值(如 KB/MB/GB)进行升序排序。
sort -hr
在 sort -h
的基础上加上 -r
,实现降序。
如果你想保留默认的表头格式,也可以这样做:
(
docker images --format "table {{.Repository}}\t{{.Tag}}\t{{.ID}}\t{{.Size}}"
) | tail -n +2 | sort -h -k4
这里 tail -n +2
用来去掉第一行表头,-k4
表示按第 4 列(SIZE)排序。