我正在尝试从 Kubernetes 集群中删除所有具有特定名称格式的未使用图像,如下所示。
crictl images | grep -E -- 'foo|bar' | awk '{print \$3}' | xargs -n 1 crictl rmi
但是这个也删除了所有命名为“foo”或“bar”的图像,即使它正在被容器使用。尝试使用“crictl rmi -q”,但这会删除上面过滤器中没有的多个其他图像。
可能你想跑
crictl rmi --prune
为此,您需要一个相当新的 crictl。从帮助:
$ crictl rmi --help
NAME:
crictl rmi - Remove one or more images
USAGE:
crictl rmi [command options] IMAGE-ID [IMAGE-ID...]
OPTIONS:
--all, -a Remove all images (default: false)
--prune, -q Remove all unused images (default: false)
--help, -h show help (default: false)