清理Docker部署的log日志文件

这篇具有很好参考价值的文章主要介绍了清理Docker部署的log日志文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题现象

当使用docker部署应用后,使用了一段时间后,发现服务器的磁盘空间一直在消耗。甚至达到了97%的磁盘使用率。那么问题来了,是通过加钱增加磁盘控件呢?还是通过“瘦身”的方式实现呢?下面就以清理docker的log日志来实现“瘦身”。

排查

docker的log日志文件一般存放在/var/lib/docker/containers文件夹中。

cd /var/lib/docker/containers

进入到该文件夹后,通过du -sh .命令可以查看到当前文件夹下的文件的大小。可以看到有好几个文件都是几个G的级别。
docker logs清空,Dcoker,docker

解决方案

原理及注意事项

一般是.log文件比较大,可以清理,清理Docker容器日志(治标)如果docker容器正在运行,那么使用rm -rf方式删除日志后,通过df -h会发现磁盘空间并没有释放。原因是在Linux或者Unix系统中,通过rm -rf或者文件管理器删除文件,将会从文件系统的目录结构上解除链接(unlink)。如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用。正确姿势是cat /dev/null > *-json.log,当然你也可以通过rm -rf删除后重启docker。

# 进入容器目录
cd /var/lib/docker/containers
# 查看哪个容器占用大
du -sh .
# 也可以具体进入某个容器
cd /var/lib/docker/containers/a40b469c66170a20baef5d650e6584de71d74fd1f33351955a1ec128de73de05
# 查看文件大小
ls -l --block-size=m
# 清理日志
cat /dev/null > /var/lib/docker/containers/a40b469c66170a20baef5d650e6584de71d74fd1f33351955a1ec128de73de05/a40b469c66170a20baef5d650e6584de71d74fd1f33351955a1ec128de73de05-json.log

编写清理日志脚本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 ========"

执行clean_docker_log.sh文件清理日志

# 授权 
chmod +x clean_docker_log.sh
# 执行 
./clean_docker_log.sh

docker logs清空,Dcoker,docker
清理log日志前
docker logs清空,Dcoker,docker
清理log日志后
docker logs清空,Dcoker,docker文章来源地址https://www.toymoban.com/news/detail-537107.html

到了这里,关于清理Docker部署的log日志文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mysql-bin日志清理,并设置expire_logs_days时间,mysql占用空间过大问题

    mysql-bin日志清理,并设置expire_logs_days时间,mysql占用空间过大问题 最近发现生产环境的服务器磁盘空间吃紧,查下到底是哪里占用的空间比较大,最后发现,mysql占用空间蛮大的。 发现mysql占用的空间很大,具体看看哪些数据占用了空间 发现mysql-bin占用了很大的空间 mysql-b

    2024年02月01日
    浏览(47)
  • Docker查看日志报错:error from daemon in stream Error grabbing logs rpc error code = Unknown desc = warning

    执行此代码 查看日志时 docker service logs xxxx 出现报错信息: error from daemon in stream: Error grabbing logs: rpc error: code = Unknown desc = warning: incomplete log stream. some logs could not be retrieved for the following reasons: node oj4eli3wsl1i9icepku63thnv is not available 原因: 集群内的程序运行错误不断重启,到一

    2024年02月11日
    浏览(57)
  • MongoDB:切换log日志文件

    可以不重启MongoDB,切换日志文件 参考 MongoDB 日志切割三种方式

    2024年02月13日
    浏览(45)
  • python创建多个logging日志文件

    为每一个计算过程创建一个单独的日志文件,并写入对应的结果,同时保留控制台输出的功能,控制台输出与日志文件记录可以分开单独控制。 控制台输出结果  日志文件输出

    2024年02月13日
    浏览(40)
  • log4j--动态打印日志文件到指定文件夹

    1、添加Maven依赖 2、配置文件 log4j.properties 3、编写日志打印工具类 LogUtil 4、工具类调用 测试结果:

    2024年02月16日
    浏览(51)
  • docker logs

    docker logs命令 $ docker logs [OPTIONS] CONTAINER Options: 无参数:直接显示容器的所有日志信息 -t, --timestamps :显示时间戳 --tail n:从尾部开始显示n行日志 --since string:从某个时间开始显示容器日志 -f, --follow:将当前时间点,容器日志文件 container-id-json.log 中的日志信息全部打印;此

    2023年04月17日
    浏览(18)
  • Docker Log使用

    查看 docker 日志通常会使用到 docker log 指令,可以通过指令 docker help logs 来查看 docker log 提供的功能: Options(可选参数): –details 显示更多详细的信息 -f, --follow 跟踪实时日志 –since string 显示自某个(时间) timestamp 之后的日志,或相对时间,如42m(即42分钟) –tail string 显示日

    2024年02月02日
    浏览(20)
  • Linux中定时删除指定日期和天数的log日志文件

    不管是测试环境还是正式环境,由于我们运行的服务往往会产生大量的日志文件,如果忘记清理,容易造成磁盘空间不足,因此最好是利用 linux 自带的定时任务功能去定时清理日志. 1.创建 shell脚本,赋权限 2.编写脚本( 可以对多个路径下的文件进行删除,只需将find一行复制改成相应

    2024年02月17日
    浏览(39)
  • MySQL 8.0 架构 之错误日志文件(Error Log)(1)

    【声明】文章仅供学习交流,观点代表个人,与任何公司无关。 编辑|SQL和数据库技术(ID:SQLplusDB) MySQL 8.0 OCP (1Z0-908) 考点概要 MySQL 8.0 OCP (1Z0-908) 考点精析-安装与配置考点1:设置系统变量 【MySQL】控制MySQL优化器行为方法之optimizer_switch系统变量 【MySQL】MySQL系统变量(system v

    2024年01月22日
    浏览(52)
  • .NET Microsoft.Extensions.Logging + NLog 记录日志到文件

    最近想了解下面向对象开发,选择C# 语言 以及NET6.0 日志是开发中最常用的功能,本文记录下其中日志使用方法,理解不全的地方后续再学习补充 Ubuntu 22.04.2 LTS dotnet 6.0.411 ## 添加日志功能 1. 根目录添加一个nlog.conf 2. 注册服务 3. 使用 模板中的wroker已自动注入进去,不需要修

    2024年02月11日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包