centos一键清理磁盘空间_docker越来越大,心慌,清理一波吧

docker现在基本是程序员电脑上占用空间最大的软件了。动辄四五十GB。256的Mac book表示伤不起。

那我们接下来看看如何做一下清理,来一个清爽的docker。

知己知彼

我们先来看下docker占用的情况

docker system df
e47a0b364fc207a9e044fe96a66db828.png

这是清理后的效果

上图共有四个部分

images:镜像部分

containers:容器部分

local volumes:本地卷部分

Build Cache:构建缓存部分

各个击破

1,镜像「image」

悬挂(dangling)镜像是未打标签或者未关联到容器的镜像,我们看下如何清理它们。

docker images -f dangling=true #查看所有悬挂镜像docker image prune #清理所有悬挂镜像docker image prune -a #清理所有未被目前存在容器所使用的所有镜像【这个比较彻底】docker image prune -f #-f取消提示,直接执行清理docker image prune -a --filter "until=24h" #--filter "until=24h",添加过滤条件

2,容器「container」

当你退出容器时,如果未使用--rm参数,该容器是不会删除的。该停止容器的可写层【writable layer】是会占用磁盘空间的。

docker container prune #清理停止容器docker container prune -f #取消提示,直接执行清理docker container prune --filter "until=24h" #添加清理条件,清理所有超过24H的已停止容器

3,数据卷「volume」

数据卷中包含我们的数据和文件,docker不会主动删除它们,所以它会占用我们空间。

docker volume prune #清理不被用到的数据卷docker volume prune -f #取消提示,直接执行清理docker volume prune --filter "label!=keep" #添加清理条件,清理所有没有keep标签的数据卷

4,网络「network」

网络配置不会占用太多空间,但是它会创建iptables规则,桥接网络设备【bridge network devices】和路由表规则。所以我们也可以清理掉不用的网络配置。

docker network prune #清理掉不被使用的网络配置docker network prune -f #取消提示,直接执行清理操作docker network prune --filter "until=24h" #添加清理条件

5,一键清理

docker提供了一个快捷方式,一键清理镜像,容器,网络。数据卷在docker版本17.06.1后,需要指定参数 --volumes ,之前是不需要的。

docker system prune #执行一键清理docker system prume -f #取消提示,直接执行清理操作docker system prune --volumes #docker 17.06.1版本之后,需要手动添加--volumes,才能清理数据卷。

清理结果

我的电脑,原来用了差不多60GB的空间,清理后,用掉40GB。好吧。作为升级了Mac pro16 500G的用户,已经没有256GB的痛了。

但是作为一个技术宅,干净的代码,干净的电脑才舒服。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值