• 技术文章 >运维 >Docker

    如何清空docker日志

    VV2020-05-21 10:39:30原创1066

    1、找出Docker容器日志

    在linux上,容器日志一般存放在/var/lib/docker/containers/container_id/下面, 以json.log结尾的文件(业务日志)很大,查看各个日志文件大小的脚本docker_log_size.sh,内容如下:

    #!/bin/sh
    echo "======== docker containers logs file size ========"
    logs=$(find /var/lib/docker/containers/ -name *-json.log)
    for log in $logs
    do
    	ls -lh $log
    done

    执行如下命令:

    # chmod +x docker_log_size.sh
    # ./docker_log_size.sh

    2、清理Docker容器日志

    如果docker容器正在运行,那么使用rm -rf方式删除日志后,通过df -h命令会发现磁盘空间并没有释放。

    原因是在Linux或者Unix系统中,通过rm -rf或者文件管理器删除文件,将会从文件系统的目录结构上解除链接(unlink)。如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用。

    正确方法是cat /dev/null > *-json.log,当然你也可以通过rm -rf删除后重启docker。接下来,提供一个日志清理脚本clean_docker_log.sh,内容如下:

    #!/bin/sh
    echo "======== start clean docker containers logs ========"
    logs=$(find /var/lib/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 ========

    然后执行如下命令:

    # chmod +x clean_docker_log.sh
    # ./clean_docker_log.sh

    推荐教程:docker教程

    以上就是如何清空docker日志的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:docker 日志
    上一篇:宿主机无法访问虚拟机中的docker容器怎么办 下一篇:docker服务启动失败怎么办
    大前端线上培训班

    相关文章推荐

    • 如何给docker容器配置IP• 如何进入docker容器目录• docker如何查看错误日志• 安装docker后电脑无法关机怎么办

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网