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

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


一、问题背景

    在项目中,发现磁盘占用空间过大,或需要查看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分钟的日志