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

posted on 2023-06-28 23:08  追求高级技术  阅读(722)  评论(0编辑  收藏  举报