このコマンドを使用して、サイズが10 MB未満のDockerイメージを一覧表示しました。
> docker images --format '{{.Repository}}:{{.Tag}}\t{{.Size}}' | awk '{ if ($2 < "10MB") print $0 }'
registry.cn-hongkong.aliyuncs.com/reddwarf-pro/chat-server:ac9b7e52b86a5c86fdd7b613a211e33247018ad3 1.84GB
cruise-radar:latest 1.11GB
busybox:latest 1.41MB
rust:1.54-bullseye 1.5GB
期待どおりに動作しないようです。私は何を逃したことがありませんか?
ベストアンサー1
@JaromandaXがコメントで述べたように、問題はまたはdocker images
などの人が読めるサイズ情報を生成することです。10MB
1.1GB
サフィックスを解析し、それらをすべてバイトに変換してこれらの値を変換できますが、別のオプションがあります。コマンドを使用する代わりに、Docker APIと直接対話できます。docker images
ここでの利点は、APIが画像サイズを報告することです。バイト単位なので変換は不要です。
使用curl
:
curl --unix-socket /var/run/docker.sock http://localhost/images/json |
jq -r '.[]|select(.Size < 10485760)|[.RepoTags[0], .Size]|@tsv'
私のシステムでは、次のような結果が生成されます。
serjs/go-socks5-proxy:latest 4675775
chedched/foo:latest 7282688
cilium/pwru:latest 4263936
alpinelinux/darkhttpd:latest 5618779
traefik/whoami:latest 6508005
alpine:latest 5544164
containous/whoami:latest 7373346
.
.
.