Docker磁盘空间分析与清理
首先使用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磁盘空间分析与清理的更多相关文章
- Linux磁盘空间分析及清理(df、du、rm)
1.df磁盘空间查看 df可以查看一级文件夹大小.使用比例.档案系统及其挂入点. [root@oms ~]# df -Th Filesystem Type Size Used Avail Use% M ...
- docker磁盘空间清理办法
docker磁盘空间清理办法 前段时间遇到docker磁盘空间太少,无法写入数据的问题.起因是因为我在本地(Mac Pro)运行了多个mysql容器,并且导入了一部分线上数据,最后还没导入完毕就已经没 ...
- docker磁盘空间不足解决办法
docker磁盘空间不足解决办法 导入docker镜像时,错误提示:磁盘空间不足. 1.查看docker镜像存放目录空间大小 du -hs /var/lib/docker/ 2.停止docker服务. ...
- docker 容器大小查看及清理docker磁盘空间
本文为博主原创,转载请注明出处: 今天打开服务器下载文件时,发现服务器内存不足,并开始清理服务器内存,排查及清理方法如下: 1. 查看服务器内存大小: df -h 通过 df - ...
- 【linux】linux磁盘空间 目录查看清理 和 文件查看清理
=========================大目录排查============================= 一.首先查看磁盘挂载,磁盘空间使用情况 1.进入根路径 cd / 2.查看磁盘挂 ...
- docker 磁盘清理 相关
用户在使用 Docker 部署业务一段时间后,可能会发现宿主节点的磁盘容量持续增长,甚至将磁盘空间耗尽进而引发宿主机异常,进而对业务造成影响. 本文先对 Docker 的空间分析与清理进行说明,然后对 ...
- 解决Linux下pcieport 0000:00:1c.5问题导致的系统根目录/磁盘空间不足
最近刚换了笔记本,拿到本后在win10基础装上Ubuntu 16.04双系统,有个问题是每次关机都会报一堆pcie问题,并且经常没声音,声音问题通过上一篇文章暂时解决,然后就没在意了,可是几天后出现系 ...
- 如何清理Docker占用的磁盘空间?
摘要:用了 Docker,好处挺多的,但是有一个不大不小的问题,它会一不小心占用太多磁盘,这就意味着我们必须及时清理. 作为一个有信仰的技术公司,我们Fundebug的后台采用了酷炫的全 Docker ...
- 如何清理Docker占用的磁盘空间?(转载)
本文转载自https://blog.fundebug.com/2018/01/10/how-to-clean-docker-disk/ , 感谢原作者. 摘要:用了Docker,好处挺多的,但是有一个 ...
随机推荐
- SpringBoot 之 国际化
增加国际化i18n语言配置: # src/main/resources/i18n/login.properties login.btn=登录 # src/main/resources/i18n/log ...
- python + web自动化,点击不生效,提示“selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element is not clickable at point (117, 674)”
前言: 在做web自动化时,遇到一个缩放了浏览器比例的操作,从100%缩小到80%,再进行点击的时候,弹出报错信息,无法点击 selenium.common.exceptions.ElementCli ...
- postgresql使用pg_dump工具进行数据库迁移
一.使用管理员身份打开cmd,切换到postgresqlp安装目录下的bin目录 必须要以管理员身份打开cmd,否则报拒绝访问 二.把生成的文件上传到服务器上,同样cd 到postgresql的安装b ...
- IDEA安装与配置
一.安装 二.配置 配置字体:source pro code 忽略大小写提示 自动导包 多 tab显示 设置快捷键 设置鼠标悬浮提示 设置行号和方法分隔符 设置maven 断点调试 字符编码 自动删除 ...
- dart系列之:手写Library,Library编写最佳实践
目录 简介 使用part和part of src中的文件 package中的lib文件 总结 简介 Library是dart用来组织代码的一种非常有用的方式,通过定义不同的Library,可以将非常有 ...
- HDU 1754 I Hate It(线段数-单点更新)
原题链接:I Hate It 题目分析:这个是线段树的基本操作--更新和查询,属于基础题,也就相当于一个模板吧,这里就不再多说了. 代码如下:(PS:特别注意--输入输出用 不然会超时) #incl ...
- 403 Invalid CORS request 跨域问题 invalid+cors+request什么意思
5.跨域问题 跨域:浏览器对于javascript的同源策略的限制 . 以下情况都属于跨域: 跨域原因说明 示例 域名不同 www.jd.com 与 www.taobao.com 域名相同,端口不同 ...
- 为什么重写equals的同时要重写hashcode
在覆盖equals方法的时候,你必须要遵守它的通用约定.下面是约定的内容,来自Object的规范[JavaSE6] 自反性.对于任何非null的引用值x,x.equals(x)必须返回true. 对称 ...
- 【Java常用类】String
文章目录 String String实例化的方式 方式一:通过字面量定义 方式二:new + 构造器的方式 String s = new String("abc")方式创建对象,在 ...
- golang中的标准库IO操作
参考链接 输入输出的底层原理 终端其实是一个文件,相关实例如下: os.Stdin:标准输入的文件实例,类型为*File os.Stdout:标准输出的文件实例,类型为*File os.Stderr: ...