我在安装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
删除未使用的图像(这是因为crictl
与containerd
兼容)。
指令:
-
Install
crictl
. -
配置
crictl
,使k8s的crictl设置文档适应microk8s
(通过使用containerd.sock
对microk8s
有效的实际位置,即unix:///var/snap/microk8s/common/run/containerd.sock
)。 -
检查
crictl
是否对microk8s的containerd
套接字工作:sudo crictl images
-
删除未使用的图片:
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'
。
注意:如果没有指定过滤器,所有的本地图像将被删除