资讯专栏INFORMATION COLUMN

Docker镜像批量清理之道

Charlie_Jade / 301人阅读

摘要:本文从几个方面来清理垃圾。所以根据镜像名删除镜像的效果会更好。删除镜像定时任务脚本注意事项为了加快打包的速度,一般不要太频繁的删除镜像。因为老的镜像中的某些不改变的层,可以作为新的镜像的缓存,从而大大加快构建的速度。

使用jenkins作为打包的工具,主机上的磁盘空间总是被慢慢被占满,直到jenkins无法运行。本文从几个方面来清理docker垃圾。

批量删除已经退出的容器
docker ps -a | grep "Exited" | awk "{print $1 }" | xargs docker rm
批量删除带有none字段的镜像

$3一般就是取出每一行的镜像id字段

# 方案1: 根据镜像id删除镜像
docker images| grep none |awk "{print $3 }"|xargs docker rmi

# 方案2: 根据镜像名删除镜像
docker images | grep wecloud | awk "{print $1":"$2}" | xargs docker rmi

方案1,根据镜像ID删除镜像时,有写镜像虽然镜像名不同,但是镜像ID都是相同的,这是后往往会删除失败。所以根据镜像名删除镜像的效果会更好。

删除镜像定时任务脚本
#!/bin/bash
# create by wangduanduan
# when current free disk less then max free disk, you can remove docker images
#

GREEN="33[0;32m"
RED="33[0;31m"
NC="33[0m"

max_free_disk=5 # 5G. when current free disk less then max free disk, remove docker images
current_free_disk=`df -lh | grep centos-root | awk "{print strtonum($4)}"`

df -lh

echo "max_free_disk: $max_free_disk G"
echo -e "current_free_disk: ${GREEN} $current_free_disk G ${NC}"

if [ $current_free_disk -lt $max_free_disk ]
then
    echo -e "${RED} need to clean up docker images ${NC}"
    docker images | grep none | awk "{print $3 }" | xargs docker rmi
    docker images | grep wecloud | awk "{print $1":"$2}" | xargs docker rmi
else
    echo -e "${GREEN}no need clean${NC}"
fi
注意事项

为了加快打包的速度,一般不要太频繁的删除镜像。因为老的镜像中的某些不改变的层,可以作为新的镜像的缓存,从而大大加快构建的速度。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/27616.html

相关文章

  • container-as-a-service-0x02 -- 项目构建&部署之道

    container-as-a-service-0x02 -- 项目构建&部署之道 By 苏依蜀黍 . 2016.06.08 分析 之前写了两篇,算是比较完善的称述了就目前的业务,容器服务在我司的应用,但是没有比较具体的讲如何构建以及部署,所以这一篇主要讲如何对项目进行容器化以及如何部署,对我司业务分类以后可以有以下几种类型: python应用 node.js应用 php应用 nginx服务 ...

    arashicage 评论0 收藏0
  • 巧用命令行工具UCloud CLI,轻量操作API管理云资源

    摘要:宋体截止目前,已提供等不同语言的。为进一步降低用户的运维人力投入,又推出了基于的命令行工具,提供轻量化的命令行调用方式并在开源。而控制台一次最多允许创建台云主机,因此需要用户进行傻瓜式操作次。截止目前,UCloud已提供Python/Java/Golang等不同语言的API SDK。为进一步降低用户的运维人力投入,又推出了基于Golang SDK的命令行工具CLI(Command Line ...

    eternalshallow 评论0 收藏0
  • Docker镜像仓库清理的探索之路

    摘要:若要开启删除镜像功能,需要修改镜像仓库的配置文件。一个可行的解决办法是手动更改镜像仓库的配置,暂时禁止镜像的操作。 用友云开发者中心是基于Docker容器进行微服务架构应用的落地与管理。相信各位同学在使用的过程中,会发现随着Docker镜像的增多,占用磁盘空间也约来越多。这时我们需要清理私有镜像仓库中不需要的镜像。但在实际操作时,才会发现这本以为很简单的任务中却暗藏玄机,遇到了不少的麻...

    JouyPub 评论0 收藏0
  • 如何清理Docker占用的磁盘空间?

    摘要:但是,它有一个不大不小的问题,会比较消耗磁盘空间。执行命令之后,占用的磁盘空间减少了很多手动清理镜像容器数据卷对于旧版的版本之前,是没有命令的,因此需要进行手动清理。进一步分析可知,真正占用磁盘空间的是的日志文件。 摘要:用了 Docker,好处挺多的,但是有一个不大不小的问题,它会一不小心占用太多磁盘,这就意味着我们必须及时清理。 showImg(https://segmentfau...

    myshell 评论0 收藏0
  • 企业互联网应用高性能解决之道

    摘要:本文介绍了企业互联网开发及运维的一些实践,深入剖析了互联网项目开发及上线过程中的各种痛点及解决之道。线上出错,我们通过收集服务器端应用性能数据的方式,实时展示应用的调用拓扑图,并根据出现异常的请求,进行下钻,定位出具体出现问题的代码。 本文介绍了企业互联网开发及运维的一些实践,深入剖析了互联网项目开发及上线过程中的各种痛点及解决之道。一个互联网项目的上线并不是那么容易,需要经过很多的环...

    Alan 评论0 收藏0

发表评论

0条评论

Charlie_Jade

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<