首先使用du命令逐层分析docker磁盘的使用情况:

(base) [root@openvino docker]# du -h --max-depth=1 | sort
0 ./containerd
0 ./libnetwork
0 ./netns
0 ./plugins
0 ./swarm
32K .
32K ./runtime-runc

使用 docker system df 命令查询镜像(Images)、容器(Containers)和本地卷(Local Volumes)等空间使用大户的空间占用情况。 示例输出如下:

[root@localhost docker]# docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 5 2 1.066GB 577.7MB (54%)
Containers 2 2 129.5MB 0B (0%)
Local Volumes 0 0 0B 0B
Build Cache 0 0 0B 0B

进一步,通过 -v参数查看空间占用细节:

[root@localhost docker]# docker system df -v
Images space usage: REPOSITORY TAG IMAGE ID CREATED SIZE SHARED SIZE UNIQUE SIZE CONTAINERS
redis latest ddcca4b8a6f0 5 months ago 105.4MB 69.26MB 36.15MB 1
nginx latest dd34e67e3371 5 months ago 133.2MB 69.26MB 63.92MB 0
mysql latest 5a4e492065c7 5 months ago 513.8MB 69.26MB 444.6MB 0
hello-world latest d1165f221234 10 months ago 13.34kB 0B 13.34kB 0
centos/mysql-57-centos7 latest f83a2938370c 2 years ago 452.1MB 0B 452.1MB 1 Containers space usage: CONTAINER ID IMAGE COMMAND LOCAL VOLUMES SIZE CREATED STATUS NAMES
d4e15edeb4a1 redis "docker-entrypoint.s…" 0 0B 4 months ago Up 5 hours redis
942ff88698b2 centos/mysql-57-centos7 "container-entrypoin…" 0 129MB 4 months ago Up 5 hours mysql Local Volumes space usage: VOLUME NAME LINKS SIZE Build cache usage: 0B CACHE ID CACHE TYPE SIZE CREATED LAST USED USAGE SHARED

空间清理

可以通过 Docker 内置的 CLI 指令 docker system prune来进行自动空间清理。

不同状态的镜像:

  • 已使用镜像(used image): 指所有已被容器(包括已停止的)关联的镜像。即 docker ps -a 看到的所有容器使用的镜像。
[root@localhost docker]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d4e15edeb4a1 redis "docker-entrypoint.s…" 4 months ago Up 5 hours 0.0.0.0:6379->6379/tcp, :::6379->6379/tcp redis
942ff88698b2 centos/mysql-57-centos7 "container-entrypoin…" 4 months ago Up 5 hours 0.0.0.0:33306->3306/tcp, :::33306->3306/tcp mysql
  • 未引用镜像(unreferenced image):没有被分配或使用在容器中的镜像,但它有 Tag 信息。
  • 悬空镜像(dangling image):未配置任何 Tag (也就无法被引用)的镜像,所以悬空。这通常是由于镜像 build 的时候没有指定 -t 参数配置 Tag 导致的。

docker system prune 自动清理说明:

  • 已停止的容器(container);
  • 未被任何容器所使用的卷(volume);
  • 未被任何容器所关联的网络(network);
  • 所有悬空镜像(image);
  • 添加 -a或 --all可以一并清除为引用的镜像以及悬空镜像
  • 添加-f或--force参数可以忽略警告信息

手动删除镜像

docker rmi [image]

docker image rm [image]
  • 可以通过 镜像名或ID 删除;
  • 子命令 -f ,--force:强制删除,即便该镜像已被引用;
  • 子命令-no-prune:不要删除未带标签的父镜像。

Docker磁盘空间分析与清理的更多相关文章

  1. Linux磁盘空间分析及清理(df、du、rm)

    1.df磁盘空间查看 df可以查看一级文件夹大小.使用比例.档案系统及其挂入点. [root@oms ~]# df -Th Filesystem Type Size Used Avail Use% M ...

  2. docker磁盘空间清理办法

    docker磁盘空间清理办法 前段时间遇到docker磁盘空间太少,无法写入数据的问题.起因是因为我在本地(Mac Pro)运行了多个mysql容器,并且导入了一部分线上数据,最后还没导入完毕就已经没 ...

  3. docker磁盘空间不足解决办法

    docker磁盘空间不足解决办法 导入docker镜像时,错误提示:磁盘空间不足. 1.查看docker镜像存放目录空间大小 du -hs /var/lib/docker/ 2.停止docker服务. ...

  4. docker 容器大小查看及清理docker磁盘空间

    本文为博主原创,转载请注明出处: 今天打开服务器下载文件时,发现服务器内存不足,并开始清理服务器内存,排查及清理方法如下: 1. 查看服务器内存大小: df -h            通过 df - ...

  5. 【linux】linux磁盘空间 目录查看清理 和 文件查看清理

    =========================大目录排查============================= 一.首先查看磁盘挂载,磁盘空间使用情况 1.进入根路径 cd / 2.查看磁盘挂 ...

  6. docker 磁盘清理 相关

    用户在使用 Docker 部署业务一段时间后,可能会发现宿主节点的磁盘容量持续增长,甚至将磁盘空间耗尽进而引发宿主机异常,进而对业务造成影响. 本文先对 Docker 的空间分析与清理进行说明,然后对 ...

  7. 解决Linux下pcieport 0000:00:1c.5问题导致的系统根目录/磁盘空间不足

    最近刚换了笔记本,拿到本后在win10基础装上Ubuntu 16.04双系统,有个问题是每次关机都会报一堆pcie问题,并且经常没声音,声音问题通过上一篇文章暂时解决,然后就没在意了,可是几天后出现系 ...

  8. 如何清理Docker占用的磁盘空间?

    摘要:用了 Docker,好处挺多的,但是有一个不大不小的问题,它会一不小心占用太多磁盘,这就意味着我们必须及时清理. 作为一个有信仰的技术公司,我们Fundebug的后台采用了酷炫的全 Docker ...

  9. 如何清理Docker占用的磁盘空间?(转载)

    本文转载自https://blog.fundebug.com/2018/01/10/how-to-clean-docker-disk/ , 感谢原作者. 摘要:用了Docker,好处挺多的,但是有一个 ...

随机推荐

  1. Linux如何对文件内容中的关键字进行查找

    如果是用vi打开文件后,在命令行下输入"/关键字"如果是在没有打开文件的前提就用"cat 文件名 | grep "关键字"

  2. java单元测试调用mybatis接口并执行

    今天想使用单元测试类,存储一些数据到mysql,可是,一直在报错,org.springframework.beans.factory.NoSuchBeanDefinitionException: No ...

  3. wget 工具使用

    wget http://xxxx 下载文件到当前文件夹 wget -V 显示wget的版本信息并退出 wget -v 打印详细信息 默认 wget -nv 关闭详细输出,但不进入安静模式 wget - ...

  4. IE8和IE9下textarea滚动选中的问题

    在IE8和IE9下如果textarea设置了样式overflow-y:auto;就不可以滚动选中了,应该样式写成overflow:auto;有了纵向滚动实际上就不会出现横向滚动的情况,也没有必要ove ...

  5. 嫌Excel VBA执行速度慢,这些建议你一定要看

    Excel是办公利器,这无需多言.尤其在办公室,Excel用的熟练与否,会的Excel知识点多不多,很大程度上决定了你工作是否高效,能否按时打卡下班.可我们也时常听到这样的吐槽:Excel好是好,可就 ...

  6. [硬件]USB TYPE C引脚定义

  7. 【记录一个问题】opencv中 cv::dft()与cv::ocl_dft()计算的结果相差较大

    以一个跟踪算法来测试: 使用cv::dft(), 矩阵未按照2次幂对齐,最终跟踪平均准确率 84.3% 使用cv::dft(),矩阵使用cv::copyMakeBorder对齐,最终跟踪平均准确率 8 ...

  8. 第57篇-profile实例

    之前已经介绍过回边计数和ProfileData与Layout,下面举个具体的例子看下MethodData是怎么利用ProfileData等记录详细的运行时信息的.实例如下: package com.t ...

  9. 程序员必备的编程助手!SmartCoder助你轻松集成HMS Core

    当开发者在集成HMS Core遇到一些疑问时,需要翻阅官网文档,反复查看集成说明或者API调用说明,或者研究GitHub上的开源示例代码,花费较多的时间,在IDE环境和网页浏览器之间反复切换也会耗费很 ...

  10. linux文件系统讲解(一)

    首先拿个一个硬盘,不能直接使用,要进行分区,比如下面的一块内存: 如果要进行分区,那么怎么分区,所以要有一个内存,用来保存怎么分区的信息,该块内存的名字叫启动块(BootBlock),他的大小是固定的 ...