记一次docker的overlay2目录占用大量磁盘空间

1、报错

Linux服务器报错磁盘没空间了:

java 复制代码
no space left on device

2、排错

从根目录看下哪个目录有问题:

bash 复制代码
cd /
du -sh *
# s即只显示总和,h即显示人类可读格式,就是数字+单位的格式

目录有点多,sort排序下:

bash 复制代码
# 以MB为单位转换,然后降序排
du -sm * | sort -nr

PS,关于Linux目录文件按大小排序的实现,方式一:

bash 复制代码
# 以Byte为单位排序
du -sb * | sort -nr
# 以KB为单位排
du -sk * | sort -nr
# 以MB为单位排
du -sm * | sort -nr
# 以上均降序,升序为
du -sm * | sort -n

方式二:(推荐,直接带各种单位排序)

bash 复制代码
# 降序
ll -hS
# 升序
ll -rhS

总之,发现是docker的overlay2目录占用了大量空间

3、解决

执行以下指令,清除以下内容:

  • all stopped containers:已停止的容器
  • all networks not used by at least one container:未被任何容器使用的网络
  • all images without at least one container associated to them:未被使用的镜像
  • all build cache:构建的缓存
bash 复制代码
# 输入y
docker system prune -a 

解决成功,查看效果:

bash 复制代码
df -h /

4、docker system 指令补充

  • 查看磁盘占用情况
bash 复制代码
docker system df 
  • 查看docker系统信息
bash 复制代码
docker system info
  • 查看服务端事件
bash 复制代码
docker system events
  • 忘了就help
bash 复制代码
docker system --help
相关推荐
壹玖玖肆6 小时前
医院后勤智能运维系统实用性评测
运维
apgk16 小时前
基于Canal实现mysql数据同步到消息队列(RabbitMQ/Kafka)详细操作教程
docker·kafka·rabbitmq
fatcoder6 小时前
玩转Docker 06 — 容器网络
前端·后端·docker
wengqidaifeng7 小时前
1.从“会敲命令”到理解 Linux:15 个基础指令、文件树与命令执行的本质
linux·运维·服务器·ubuntu
tedcloud1237 小时前
book-to-skill 怎么部署?把技术书和文档转换成可复用的 AI Skill
运维·服务器·人工智能·开源·ai编程
xiaoxiangsiyan7 小时前
企业日常运维高频应用服务全解
运维·网络·云原生·容器·dns
AR_xsy7 小时前
docker--资源配额 配置
运维·docker·容器
YH行业报告分析8 小时前
销售拨号软件升级:智能销售场景下云端自动化如何提升企业获客效率?
运维·自动化
深圳恒讯8 小时前
CN2 GIA和CN2 GT的区别
运维·服务器·网络
橙-极纪元9 小时前
把docker的镜像文件从一台服务器中,迁移至另一台服务器
服务器·docker·容器