Docker下查看容器日志并手工清理特定容器日志的方法【测试成功】

艺帆风顺 发布于 2025-04-03 73 次阅读


一、问题背景

    在项目中,发现磁盘占用空间过大,或需要查看docker日志时,发现日志太多,需要进行清理,重新生成日志。

[root@YLMS ~]# docker -vDocker version 24.0.5, build ced0996You have mail in /var/spool/mail/root

二、清空日志

1、查看容器日志的路径

    docker inspect --format='{{.LogPath}}'   容器名或ID

[root@YLMS overlay2]# docker inspect --format='{{.LogPath}}' 112f45563a0c/var/lib/docker/containers/112f45563a0ca399331aa2a069e3fe89347b2dece95731ef990d6576475dda06/112f45563a0ca399331aa2a069e3fe89347b2dece95731ef990d6576475dda06-json.logYou have mail in /var/spool/mail/root[root@YLMS overlay2]# ls -alh /var/lib/docker/containers/112f45563a0ca399331aa2a069e3fe89347b2dece95731ef990d6576475dda06/112f45563a0ca399331aa2a069e3fe89347b2dece95731ef990d6576475dda06-json.log-rw-r----- 1 root root 15G Mar  7 13:49 /var/lib/docker/containers/112f45563a0ca399331aa2a069e3fe89347b2dec

    可以发现,该容器的日志大小为15G,应该从容器创建以来,从未清理过日志文件。

2、清理该容器的日志

> 日志文件

[root@YLMS overlay2]# > /var/lib/docker/containers/112f45563a0ca399331aa2a069e3fe89347b2dece95731ef990d6576475dda06/112f45563a0ca399331aa2a069e3fe89347b2dece95731ef990d6576475dda06-json.log[root@YLMS overlay2]# ls -alh /var/lib/docker/containers/112f45563a0ca399331aa2a069e3fe89347b2dece95731ef990d6576475dda06/112f45563a0ca399331aa2a069e3fe89347b2dece95731ef990d6576475dda06-json.log-rw-r----- 1 root root 3.4K Mar  7 13:51 /var/lib/docker/containers/112f45563a0ca399331aa2a069e3fe89347b2dece95731ef990d6576475dda06/112f45563a0ca399331aa2a069e3fe89347b2dece95731ef990d6576475dda06-json.log

3、验证容器日志是否清理完成

    docker logs -f 容器名/容器ID

    若很快加载出来最新日志信息,则清理成功。

三、查看日志的常见命令

    docker logs -f     xxx   实时刷新日志信息

    docker logs -f     xxx    > xxx.log    输出到文件离线分析

    docker logs --since 30m 112f45563a0c    查看最近30分钟的日志