一、清理 overlay2 目录
Docker 的 /var/lib/docker/overlay2 是什么目录 ?
overlay2是docker使用的文件存储驱动,也就是说,在/var/lib/docker/overlay2目录下的文件都是docker使用的存储, 存的是我们的镜像文件和容器内的文件
如何清理 /var/lib/docker/overlay2 ?
- 删除不用的镜像
- 检查是否有容器内的服务会往容器内的本地写文件
- 检查各容器的磁盘占用,如果有发现磁盘占用过高的情况则对应处理【原则上如果容器内服务有写文件行为,则写文件的目录应当挂载到宿主机上,而不是直接往容器的本地写
- 需要应急处理的话可以先进入容器内直接删除容器内可以删除的文件
1) 查看 docker 磁盘使用情况
docker system df
2) 清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)
docker system prune
3) 强制删除所有的当前无使用的资源,包括如下:磁盘,关闭的容器、无用的数据卷和网络,以及没有 tag 的 image (就是显示none的)
docker system prune -a
4) 再次查看宿主机磁盘信息
df -hT
二、清理日志文件
日志目录
如果容器使用了默认的日志模式,那么该容器的日志会以 JSON 形式保存在此目录下:
/var/lib/docker/containers/<容器ID>
查看所有容器下日志的大小
find /var/lib/docker/containers/ -name *-json.log |xargs du -sh
将某个日志文件清零
truncate -s 0 /var/lib/docker/containers/<容器ID>/<容器ID>-json.log
写个空文件到容器日志中
cat /dev/null > /var/lib/docker/containers/<容器ID>/<容器ID>-json.log