docker空间管理之清理磁盘占用
1、docker部署后修改数据存放目录,默认存放到/var/lib/docker下面,修改到一个大的空间目录下面。参考我的另外一篇博客:https://www.cnblogs.com/cuishuai/p/9485939.html
2、docker空间占用分析
通常使用docker部署服务,使用一段时间后发现磁盘空间占用的很快,经排查发现占用最高的就是docker,发现一些比较老的image和废弃不用的container的volume没有清理造成的。由于只关注了docker的发布,却忽略了docker清理工作。长此以往容易导致服务器磁盘被塞满,从而部署的docker服务不可用,后果非常严重。所以就需要定期的清理一些没有用的过期资源。
docker提供了一个cli命令可以方便的查看docker具体咋用磁盘情况:
#docker system df
可以看到,docker system df 命令给出了images、containers、volumes、build cache占用磁盘的大小。最后一列RECLAIMABLE,表示可回收的空间大小。
使用docker system df -v,可以显示更详细的信息:
知道空间占用情况了,结下来就是做清理工作。
docker提供了docker system prune来清理停掉的container、悬挂的image(没有tag)、没有使用的network、数据卷。
当然有个-a参数,可以清理所有的东西,包括没有使用的镜像(谨慎使用)。:
使用清理命令之前,一定要先确定container、image是否可以被删除。
参考:https://docs.docker.com/engine/reference/commandline/system_prune/
根据时间和label过滤。
3、感觉这种方式有的时候不能满足需求,不是很灵活,所以写了一个脚本用来清理镜像:
cat dockerImageClean.sh
#!/bin/bash
# docker clean
tp=`df -h | grep \/dev\/vdb | awk '{print $5}' | tr -d %` t1=`docker images | grep -E "10.10.*sensors-log" |awk 'NR > 4 {printf "%s\n",$3}'`
t2=`docker images | grep -E "10.10.*satrun " |awk 'NR > 4 {printf "%s\n",$3}'` deleteImage() {
if [ $tp -ge 5 ];then
for i in $
do
docker rmi -f $i
#echo $i
done
fi
} #delete sensors-log and sensors-logagent
for i in $t1
do
deleteImage $i
done #delete saturn
for j in $t2
do
deleteImage $j
done
磁盘使用率超过50%后,保留最新的5个镜像,其他的都删掉。
docker空间管理之清理磁盘占用的更多相关文章
- Docker磁盘空间分析与清理
首先使用du命令逐层分析docker磁盘的使用情况: (base) [root@openvino docker]# du -h --max-depth=1 | sort 0 ./containerd ...
- Linux磁盘空间分析及清理(df、du、rm)
1.df磁盘空间查看 df可以查看一级文件夹大小.使用比例.档案系统及其挂入点. [root@oms ~]# df -Th Filesystem Type Size Used Avail Use% M ...
- Linux清理磁盘空间
1.首先确定是否是磁盘满了 命令: df -h 参数说明: -a:列出所有的文件系统,包括系统特有的/proc等文件系统 -k:以KB的容量显示各文件系统 -m:以MB的容量显示各文件系统 -h: ...
- 【Linux】linux之如何清理磁盘空间
相关命令: 1.查询磁盘空间占用情况df -h2.进入根目录,查询大文件与目录 cd /du -sh * | sort -n 查看上GB的目录并且排序,可以用这个命令du -h --max-depth ...
- Jenkins遇到问题二:Jenkins服务器磁盘空间管理策略
Jenkins在帮助我们自动化构建服务的同时也在消耗服务器的磁盘空间,试想如果构建的项目个数很多,而Jenkins 服务器磁盘空间又不是非常大的话,每隔一段时间磁盘空间就会爆满导致Jenkins出现磁 ...
- CentOS7清理磁盘空间
1 首先查询磁盘空间占用情况. 发现/根目录下面磁盘占用百分之一百 df -ah 2 进入根目录,查询大文件与目录 cd /du -sh * | sort -n 查看上GB的目录并且排序,可以用这个命 ...
- [自学]Docker system 命令 查看docker镜像磁盘占用情况 Docker volume 相关
内容From https://docs.docker.com/engine/reference/commandline/system_df/ docker的image和docker的container ...
- 【linux】linux磁盘空间 目录查看清理 和 文件查看清理
=========================大目录排查============================= 一.首先查看磁盘挂载,磁盘空间使用情况 1.进入根路径 cd / 2.查看磁盘挂 ...
- 004.Docker镜像管理
一 镜像基本操作 镜像是一个包含程序运行必要依赖环境和代码的只读文件,其本质是磁盘上一系列文件的集合.它采用分层的文件系统,将每一次改变以读写层的形式增加到原来的只读文件上.镜像是容器运行的基石. 1 ...
随机推荐
- 第81讲:Scala中List的构造和类型约束逆变、协变、下界详解
今天来学习一下scala中List的构造和类型约束等内容. 让我们来看一下代码 package scala.learn /** * @author zhang */abstract class Big ...
- spark图解
导语 spark 已经成为广告.报表以及推荐系统等大数据计算场景中首选系统,因效率高,易用以及通用性越来越得到大家的青睐,我自己最近半年在接触spark以及spark streaming之后,对spa ...
- Nutch1.2 的安装与使用
Nutch1.2的安装与使用 1.nutch1.2下载 下载地址 http://archive.apache.org/dist/nutch/ 2.nutch1.2目录 bin:用于命 ...
- bootstrap2.2相关文档
本节课我们主要学习一下 Bootstrap表单和图片功能,通过内置的 CSS定义,显示各种丰富的效果. 一.表单 Bootstrap提供了一些丰富的表单样式供开发者使用. 1.基本格式 //实现基本的 ...
- MySQL5.7Gtid主从复制总是遇到日志被清等出现无法正常主从复制
最近最是在MySQL5.7上的的gtid主从复制问题总是遇上下面问题: Last_Error: Coordinator stopped because there were error(s) in t ...
- 使用ASP.NET Core2.2创建WebApp
目录 使用ASP.NET Core2.2创建WebApp 前言 使用dotnet命令new一个WebApp 查看WebApp文件结构 run起来,开始运行! 尝试:使用--help获取dotnet命令 ...
- 背水一战 Windows 10 (50) - 控件(集合类): ItemsControl - 基础知识, 数据绑定, ItemsPresenter, GridViewItemPresenter, ListViewItemPresenter
[源码下载] 背水一战 Windows 10 (50) - 控件(集合类): ItemsControl - 基础知识, 数据绑定, ItemsPresenter, GridViewItemPresen ...
- OCP考试062题库出现大量新题-19
choose three Which three statements are true about Oracle Data Pump? A) Oracle Data Pump export and ...
- SpringBoot使用ModelAndView时配置视图解析器
spring boot 使用视图modelandview 原文:https://www.cnblogs.com/liyafei/p/7955943.html 1:springboot使用视图解析器,添 ...
- CuratorFramework使用
CuratorFrameworkFramework是ZooKeeper Client更高的抽象API 自动连接管理: 1. 当ZooKeeper客户端内部出现异常, 将自动进行重连或重试, 该过程对外 ...