“crictl rmi”删除所有正在使用的图像

CRP*_*P08 8 bash cri-o

我正在尝试从 Kubernetes 集群中删除具有特定名称格式的所有未使用的图像,如下所示。

crictl images | grep -E -- 'foo|bar' | awk '{print \$3}' | xargs -n 1 crictl rmi
Run Code Online (Sandbox Code Playgroud)

但是这个也会删除所有名为“foo”或“bar”的图像,即使它正在被容器使用。尝试使用“crictl rmi -q”,但这会删除不在上面的过滤器中的多个其他图像。

Tho*_*mas 21

也许你想跑步

crictl rmi --prune
Run Code Online (Sandbox Code Playgroud)

为此,您需要一个相当当前的 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)
Run Code Online (Sandbox Code Playgroud)

  • 我首先运行“crictl images”来获取图像列表。然后我运行“crictl rmi --purne”。然后,当我运行“crictl images”时,它再次看到空列表。我还从控制台输出验证“--purne”正在删除容器已在使用的图像。 (2认同)