Linux - Docker日志文件清理
1. 容器日志文件默认存放路径: /var/lib/docker/docker日志文件后缀是container ID + "-json.log",
查看各个日志文件大小:
1) ls -lh $(find /var/lib/docker/containers/ -name *-json.log)
查询结果sample: -rw-r----- 1 root root 2.0G Jun 28 22:47 /var/lib/docker/containers/
2)find /var/lib/docker/containers/ -name *-json.log |xargs du -sh
查询结果sample : 796K /var/lib/docker/containers/
2. 清理容器日志文件方式:
2.1 rm -rf filepath 需重启Docker后才能生效
在Linux/Unix系统中通过rm命令 or 文件管理器删除文件,只是将文件从文件系统的目录结构上解除链接unlink,如果文件是被打开的(有一个进程在使用),那么进程仍然可以读写该文件,磁盘空间也一直被占用
2.2 cat /dev/null > logfilepath 立即生效无需重启Docker,比如: cat /dev/null > *-json.log
3. 使用Docker镜像创建容器时,docker会创建一些目录,如:
/var/lib/docker/containers/容器ID,如果容器使用了默认的日志模式,那么该容器的日志会以JSON形式保存在此目录 下。
/var/lib/docker/overlay2 , 该目录包含容器的读写层,如果容器使用了自己的文件系统保存了数据,这些数据就会写到此目录下。
4. 查看Docker各类型文件占用空间情况,docker类型包括4种:Images 、 Containers、 Local Volumes、Build Cache **RECLAIMABL 这个字段明确了该类型中可以清理的空间**
docker system df
5. 查看docker容器的日志
docker logs -f 容器名称
6. 查看Linux 各目录使用磁盘空间情况,
按文件大小排序显示前20个文件 : du -a / | sort -n -r | head -n 20
按文件大小排序显示后20个文件 : du -a / | sort -n -r | -n 20
7. 只查询当前目录下各文件大小
du -h --max-depth=1