清理docker的文件,释放磁盘
清理docker的日志文件
docker使用了一段时间后,发现服务器的磁盘空间一直在消耗,需要清理日志文件,来释放磁盘
查找docker的log文件的位置
docker的log文件一般存放在docker/containers文件夹中。
cd /data/docker/containers
查看docker的log文件的大小
进入docker/containers文件夹后,查看文件的大小
du -sh ./* | sort -rh
删除docker的log文件
第一种方法
如果docker容器正在运行,通过 rm -rf 的方式删除日志后,使用 df -h 查看磁盘,会发现磁盘空间不会释放;在Linux系统中,如果文件是被打开或者有一个进程正在使用,使用 rm -rf 的方式删除日志后,进程依然在读取该日志,磁盘空间也一直被占用,那么rm -rf 的方式删除日志后,重启docker;后者停止docker后再删除日志
第二种方法
通过sh脚本删除
#!/bin/sh
echo "======== start clean docker containers logs ========"
logs=$(find /data/docker/containers/ -name *-json.log)
for log in $logs
do
echo "clean logs: $log"
cat /dev/null > $log
done
echo "======== end clean docker containers logs ========"
清理docker的存储中日志文件
查找docker的存储中日志文件的位置
docker的存储中日志一般存放在/data/docker/overlay2文件夹中。
cd /data/docker/overlay2
查看docker的存储中日志文件的大小
进入/data/docker/overlay2文件夹后,查看文件的大小
du -sh ./* | sort -rh
删除docker的存储中日志文件
进入最大文件下,删除里边的日志文件