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 进去看看,如果日志输出不正常就需要反馈给开发,不用往本地目录里打日志文件了。

相关推荐
Nuanyt几秒前
JUC常见核心知识梳理01 线程 并发 JMM volatile 管程 锁 synchronized
java·开发语言·网络·jvm
我命由我123456 分钟前
Android 控件 - ListAdapter
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
CodeStats10 分钟前
【Java 类加载器】Java 类加载器完整体系深度拆解(中):URLClassLoader 能力剖析与继承委派辨析
java·jvm·classloader·类加载器
Terra.K12 分钟前
JAVA职业探索和学习----中间件开发目标
java·学习·中间件
java_logo20 分钟前
Docker 部署 ArchivesSpace:轻松搭建档案信息管理平台
运维·docker·容器·档案管理·轩辕镜像·archivesspace·特藏
&不羁之风&21 分钟前
外网 SFTP 到内网 FTP 自动同步方案(lftp 实战)
java·sftp·ftp·lftp
欢迎来到祖安!3 小时前
企业微信 API 接口能力介绍:支持消息收发、图片发送、表情互动、联系人管理等多场景应用
java·前端·数据仓库·spring cloud·企业微信
dadaobusi7 小时前
学习:RV lkvm SBI
java·学习·spring
HEJOO99 小时前
深入理解 Java volatile 关键字:原理、用法与常见误区
java·开发语言·spring
曹牧9 小时前
Java:no content to map due to end of input
java·开发语言