docker查找占用主机磁盘空间最大的容器

1.背景

有时候我们一台主机上部署了多个容器,而且对部分数据做了持久化,时间长了,数据会越来越多,相应的可能会造成磁盘空间不足?那么我们如何,找出占用磁盘空间最大的容器,并删除容器的部分不需要的日志或数据文件呢?

2.overlay2简介

OverlayFS是一种现代的联合文件系统,与AUFS类似,但速度更快且实现更简单。Docker为OverlayFS提供了两个存储驱动程序:原始的overlay,更新的和更稳定的overlay2。

3.容器存储目录

[root@docker overlay2]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G  4.1G   34G  11% /
devtmpfs        911M     0  911M   0% /dev
tmpfs           920M     0  920M   0% /dev/shm
tmpfs           920M  1.3M  919M   1% /run
tmpfs           920M     0  920M   0% /sys/fs/cgroup
overlay          40G  4.1G   34G  11% /var/lib/docker/overlay2/6c21d550b2e37e23b777490d3f3b26c54ed5b98ad615ac833ff4248a288b9530/merged
overlay          40G  4.1G   34G  11% /var/lib/docker/overlay2/aa7a46d5a35c404e956fa35c88c5ecb8f117d03299f3818d5c66c33caf4ee6f4/merged
overlay          40G  4.1G   34G  11% /var/lib/docker/overlay2/507f4480d6ed67738d618080b0fcbf60ca22623ba9a87eade44fa403e421cf55/merged
overlay          40G  4.1G   34G  11% /var/lib/docker/overlay2/5cc8105791fd74756b0f7cc36ec93685f3ca90bcb72ac025edb7389e5156228b/merged
overlay          40G  4.1G   34G  11% 在当前版本中,容器存储目录为/var/lib/docker/overlay2。且当前占用宿主机磁盘空间的目录也为容器存储目录。

4.查找占用磁盘空间大小的容器目录

[root@docker overlay2]# du -s * | sort -nr | head -5
334636  f6acb9573429712fe4d8b8b786e24d790fae8727f403693874b62a168b174870
159348  86444fb8a5127b41323bef731c14eb764135a7066bb5f904427f53816ff4fe2f
146556  6c21d550b2e37e23b777490d3f3b26c54ed5b98ad615ac833ff4248a288b9530
102080  1eb50142766d18f3927615f63f599d9de1885b2954397736b882bb89ab8ae265
88504   ef4e0ff8bf2cd2f8d2f147e30e89e2c7b6f6e02795ebbcd45a3bba1d77b3b132
注意:这里只列出了排名前五的容器目录。那么现在知道了容器目录,那么如何找出对应的容器呢?现在我们要找出f6acb9573429开头的目录对应时哪个容器?

5.查找容器目录对应的容器名

[root@docker overlay2]# for i in $(docker ps -q );do echo echo $i ; docker inspect $i|grep f6acb9573429  ; done
echo 4332fe39163b"LowerDir": "/var/lib/docker/overlay2/**f6acb9573429**712fe4d8b8b786e24d790fae8727f403693874b62a168b174870-init/diff:/var/lib/docker/overlay2/b76d30a66c8fef0123a2310bd861a0aa626b5a6e7bf83f9982a6344c8e466187/diff:/var/lib/docker/overlay2/c5b396df751ea053d81765d77f85a8dd44c1c847b6fbe95b38230509f372dfd2/diff:/var/lib/docker/overlay2/1efa8716d1f55fde7716deaacabe0e582aff78f7e460f18b9d5dc84db387533e/diff:/var/lib/docker/overlay2/3f78cbaa248e4f8b1e25599e5e1e2496a463b75e39adfaad2026f134a8ebf89f/diff:/var/lib/docker/overlay2/18ca1077ac90dff82d1085d19162d7b56c42effce18b416632c0e1627602fb17/diff:/var/lib/docker/overlay2/bcee6e758f7ac5769da672274262d61b38acc2cc6ade4b9b56cd0475ca886528/diff:/var/lib/docker/overlay2/e23e02b967bdf1aaaef8e002f0a9f1d778d7a7de7adb12cd925e84ef770b62c7/diff:/var/lib/docker/overlay2/916a116fc26d356a61a9e028c52a3a402349e87e1e9eea6f4d2039cf31391155/diff","MergedDir": "/var/lib/docker/overlay2/f6acb9573429712fe4d8b8b786e24d790fae8727f403693874b62a168b174870/merged","UpperDir": "/var/lib/docker/overlay2/f6acb9573429712fe4d8b8b786e24d790fae8727f403693874b62a168b174870/diff","WorkDir": "/var/lib/docker/overlay2/f6acb9573429712fe4d8b8b786e24d790fae8727f403693874b62a168b174870/work"
echo 4172f0cf7985
echo a622665b0a81
echo 20fde2e0a903
注意:这里就已经找出了最占用磁盘空间大小的容器了。

6.进入容器删除文件

然后进入容器, 按照常规的办法找到相应的占用磁盘的文件,然后确认可以删除后,再删除文件即可。

docker查找占用主机磁盘空间最大的容器相关推荐

  1. [转帖]Docker 清理占用的磁盘空间

    Docker(二十七)-Docker 清理占用的磁盘空间 https://www.cnblogs.com/zhuochong/p/10076599.html docker system docker ...

  2. 【已解决】docker overlay2占用大量磁盘空间处理方法

    在使用docker容器的时候遇到了容量上的问题,做一个记录 处理方式1: 在使用docker时,往往会出现磁盘空间不足,导致该问题的通常原因是因为docker中部署的系统输出了大量的日志内容. 此时, ...

  3. docker overlay2占用大量磁盘空间处理方法

    在使用docker时,往往会出现磁盘空间不足,导致该问题的通常原因是因为docker中部署的系统输出了大量的日志内容. 此时,可通过手动或定时任务进行清除. 针对/var/lib/docker/ove ...

  4. linux系统overlay文件夹爆,docker overlay2占用大量磁盘空间处理方法

    在使用docker时,往往会出现磁盘空间不足,导致该问题的通常原因是因为docker中部署的系统输出了大量的日志内容. 此时,可通过手动或定时任务进行清除. 针对/var/lib/docker/ove ...

  5. DOCKER OVERLAY2占用大量磁盘空间解决办法

    1.首先找到OVERLAY2目录 cd /var/lib/docker/overlay2 2.查看文件的大小 du -h --max-depth=1 3.查看占用空间的PID,以及对应的容器名称 do ...

  6. centos一键清理磁盘空间_如何清理 Docker 占用的磁盘空间

    Docker 很占用空间,每当我们运行容器.拉取镜像.部署应用.构建自己的镜像时,我们的磁盘空间会被大量占用. 如果你也被这个问题所困扰,咱们就一起看一下 Docker 是如何使用磁盘空间的,以及如何 ...

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

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

  8. Docker - 清理Docker占用的磁盘空间

    通过docker重新发布一个线上jar包时,报错如下: failed to copy files: failed to copy file: Error processing tar file(exi ...

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

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

最新文章

  1. javaWeb——Servlet
  2. 最大似然估计学习总结
  3. SQL 语句快速参考
  4. java class 是否相等_Java重要技术(30)类加载器之Class类型的相等比较
  5. NLB+Cluster(一)
  6. 机器学习java_Java机器学习,第1部分
  7. 自定义SeekBar 实时显示百分比进度
  8. stackoverflow favorites
  9. MySQL---数据库切分
  10. Qt:QListWidget的item上实现右键菜单
  11. python处理select
  12. “仿QQ局域网聊天软件”项目-常用编程技巧总结
  13. 用猿大师VLC播放程序与海康威视官方播放器在高版本Chrome播放RTSP视频流延迟效果对比!(视频演示)
  14. UEditor 自定义input,复选框,弹窗,修改,删除,取值,存值
  15. 教你如何使用pr语音自动生成字幕,pr自动识别声音添加字幕
  16. 《《《总结》》》PCL的42个实例整理:1~24
  17. Emacs安装配置yasnippet
  18. 苹果手机电池保养再用两年!
  19. 刨根问底学Blog(转)
  20. 阿里云服务器学生应该怎么购买教程以及将远程主机配置成服务器教程

热门文章

  1. Caesar I (Crypto, Training) 的多种简单解法
  2. 03-echarts主题和调色盘
  3. python去噪笔记
  4. 理解pct_change()shift() in Python
  5. 1905: 小明的糖果在哪里
  6. nginx的rewrite规则
  7. 基于递归神经网络的人脸识别探究
  8. 【转】再谈USB 3.0的实际传输速度
  9. Android-0.第三方登录简介
  10. prof8000安装