Kubernetes实战(二十)-集群节点磁盘清理

1 清理无用的镜像和关闭的容器

1.1 使用docker system df查询Docker 的磁盘使用情况

复制代码
$ docker system df
TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
Images              0                   0                   0 B                 0 B
Containers          0                   0                   0 B                 0 B
Local Volumes       0                   0                   0 B                 0 B

TYPE 列出了 Docker 使用磁盘的 4 种类型:

  • Images :所有镜像占用的空间,包括拉取下来的镜像,和本地构建的。

  • Containers :运行的容器占用的空间,表示每个容器的读写层的空间。

  • Local Volumes :容器挂载本地数据卷的空间。

  • Build Cache :镜像构建过程中产生的缓存空间(只有在使用 BuildKit 时才有,Docker 18.09 以后可用)。

  • RECLAIMABLE:磁盘可回收大小。

1.2 清理无用的镜像和关闭的容器

  • docker system prune : 可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及 dangling 镜像(即无 tag 的镜像)。

  • docker system prune -a : 清理得更加彻底,可以将没有容器使用 Docker镜像都删掉。

注意:这两个命令会把你暂时关闭的容器,以及暂时没有用到的 Docker 镜像都会删掉。

复制代码
$ docker system prune
WARNING! This will remove:
        - all stopped containers
        - all volumes not used by at least one container
        - all networks not used by at least one container
        - all dangling images
Are you sure you want to continue? [y/N] y
Total reclaimed space: 0 B

不带-f或--force是交互式执行,需要输入y确认。

复制代码
$ docker system prune -h
Flag shorthand -h has been deprecated, please use --help

Usage:  docker system prune [OPTIONS]

Remove unused data

Options:
  -a, --all     Remove all unused images not just dangling ones
  -f, --force   Do not prompt for confirmation
      --help    Print usage

2 清理有问题的容器

如果清理了无用的镜像和容器磁盘水位还是比较高。那大概率是某个容器有问题,比如疯狂往磁盘上记日志。

复制代码
$ docker system df -v
Images space usage:

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE                SHARED SIZE         UNIQUE SIZE         CONTAINERS

Containers space usage:

CONTAINER ID        IMAGE               COMMAND             LOCAL VOLUMES       SIZE                CREATED             STATUS              NAMES

Local Volumes space usage:

VOLUME NAME         LINKS               SIZE

可以看到每次CONTAINER的size。然后就是docker exec -it 进去看看,如果日志输出不正常就需要反馈给开发,不用往本地目录里打日志文件了。

相关推荐
Tao____1 小时前
国产开源物联网基础平台
java·物联网·mqtt·开源·设备对接
f***a3461 小时前
SpringBoot 如何调用 WebService 接口
java·spring boot·后端
小毅&Nora1 小时前
【后端】【JAVA】协程:从虚拟线程到协程编程的全面解析
java·开发语言
断剑zou天涯1 小时前
【算法笔记】KMP算法
java·笔记·算法
无限进步_1 小时前
C++初始化列表详解:语法、规则与最佳实践
java·开发语言·数据库·c++·git·github·visual studio
vx_bisheyuange1 小时前
基于SpringBoot的交通在线管理服务系统
java·spring boot·后端·毕业设计
Hello.Reader1 小时前
FF4J 用特性开关玩转 Java 应用灰度与发布
java·开发语言
小坏讲微服务1 小时前
Spring Boot 4.0 与 MyBatis Plus 整合完整指南
java·spring boot·后端·mybatis·springcloud·mybatis plus·java开发
一 乐1 小时前
数码商城系统|电子|基于SprinBoot+vue的数码商城系统(源码+数据库+文档)
java·前端·javascript·数据库·vue.js·springboot
番茄Salad1 小时前
Spring Boot项目,修改项目名称,修改包名!
java·spring boot·后端