如何使microk8s ctr图像修剪



我在安装microk8和应用程序的服务器上收到磁盘空间不足的警告。当我运行microk8s ctr image ls命令时,一个应用程序会出现多个图像。"docker"镜像是否被删除?Docker中的命令在microk8s中有等效的吗?或者有其他可能的方法吗?

如果您想从内置库中删除所有自定义添加的图像,您可以这样做:

# get all images that start with localhost:32000, output the results into image_ls file
sudo microk8s ctr images ls name~='localhost:32000' | awk {'print $1'} > image_ls 
# loop over file, remove each image
cat image_ls | while read line || [[ -n $line ]];
do
microk8s ctr images rm $line
done;

将其放入.sh文件中并运行脚本

您可以使用:

sudo crictl rmi --prune

删除未使用的图像(这是因为crictlcontainerd兼容)。


指令:

  1. Installcrictl.

  2. 配置crictl,使k8s的crictl设置文档适应microk8s(通过使用containerd.sockmicrok8s有效的实际位置,即unix:///var/snap/microk8s/common/run/containerd.sock)。

  3. 检查crictl是否对microk8s的containerd套接字工作:sudo crictl images

  4. 删除未使用的图片:

sudo crictl rmi --prune

一行字:

sudo microk8s ctr i ls name~='localhost:32000' -q|while read z;do sudo microk8s ctr i rm $z;done

您可以删除过滤器name~='localhost:32000'或使用它来匹配您想要清理的特定标记,例如:name~=':v5.2.0'

注意:如果没有指定过滤器,所有的本地图像将被删除

最新更新