Docker运维之容器的日志清理
在容器运行的过程中,通常会产生大量的日志,尤其是应用程序本身记录了info级别的日志时候,程序的标准输出记录到容器的日志。这样会占用大量的磁盘空间,严重者导致IO异常,最终服务会宕机。
方案一:定期手动清除容器日志文件
1、日志文件位置
Docker 容器日志存储在 /var/lib/docker/,文件格式是json格式,并通过容器ID进行区分。存储路径如下:
/var/lib/docker/containers/ID/ID-json.log
du -d1 -h /var/lib/docker/containers | sort -h
2、查看日志
#容器命令
docker logs -f 容器ID
#滚动查看最后20行,并现实时间戳。
docker-compose logs -f -t --tail=20
#按照开始时间、结束时间查看容器日志:查看 MySQL容器最近20分钟到最近10分钟内的日志信息,命令如下:
docker logs --since="20m" --until="10m" MySQL
#说明:--since 传入开始时间,--until 传入结束时间。
#跟踪日志输出:例如,查看 MySQL容器最近20分钟以后实时的日志信息(显示时间戳),命令如下:
docker logs -f --since="20m" -t MySQL
#说明:-f 或者 --follow 表示跟踪日志输出。
#docker attach 容器名称(实时查看,但是CTRL+C强制退出以后也会影响容器的进程,导致强制退出),
#设置 docker attach --sign-proxy=false 容器名称(实时查看日志内容)
3、下载日志
docker logs +你需要添加的额外参数 + 容器id >文件名称
然后查看这个文件就可以了,也可以通过ftp协议下载到本地
4、找到容器的containerId-json.log文件
#查看各个容器的log文件大小
find /var/lib/docker/containers/ -name *-json.log |xargs du -sh

5、执行清理
cat /dev/null > /var/lib/docker/containers/ \
dfe25896671f0def031c5ffeb12dd335f7f54212c6ca5d3aca1c3f50b5e1eec4 \
/dfe25896671f0def031c5ffeb12dd335f7f54212c6ca5d3aca1c3f50b5e1eec4-json.log
方案二:设置Docker容器日志大小(治本)
设置一个容器服务的日志大小上限,一般对新建容器有效。
全局设置
新建/etc/docker/daemon.json,若有就不用新建了。添加log-dirver和log-opts参数,样例如下:
# vim /etc/docker/daemon.json
{
"log-driver":"json-file",
"log-opts":{
"max-size" :"50m","max-file":"1"
}
}
max-size=50m,意味着一个容器日志大小上限是50M,max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json。
// 重启docker守护进程
# systemctl daemon-reload
# systemctl restart docker
Docker运维之容器的日志清理的更多相关文章
- 新IT运维时代 | Docker运维之最佳实践-下篇
上篇针对操作系统.主机配置.容器镜像.容器运行时四大方面分享一些Docker的运维经验,本篇将着重在Docker Daemon参数和权限两个方面进一步分享.(阅读上篇请点击右侧:新IT运维时代 | D ...
- 新IT运维时代 | Docker运维之最佳实践-上篇
容器技术的发展可以分为两个阶段,第一个阶段聚焦在IaaS层,仅仅把容器当做更轻量级虚拟机来使用,解决了应用运行时进程级资源隔离的问题:随着Docker的出现,容器虚拟化才有了统一的平台,由此容器技术发 ...
- 【运维工具】logrotate 日志管理神器
服务器经常会产生各种各样的日志文件,我们需要定期清理 日志的分类 系统日志 应用日志 系统日志 例如系统的history 历史信息 crontab的运行日志 一般系统日志系统都帮我们运维好了,不 ...
- Nginx-Tomcat 等运维常用服务的日志分割-logrotate
目录 一 .Nginx-Tomcat 等常用服务日志分析 Nginx 日志 Tomcat日志 MongoDB 日志 Redis 日志 二 .日志切割服务 logrotate 三.日志切割示例 Ngin ...
- 更优雅的配置:docker/运维/业务中的环境变量
目录 docker-compose 环境变量 .env 文件 env_file docker stack 不支持基于文件的环境变量 envsubst envsubst.py 1. 使用行内键值对 2. ...
- 日常运维中的相关日志切割处理方法总结 [Logrotate、python、shell脚本实现 ]
对于Linux系统安全来说,日志文件是极其重要的工具.不知为何,我发现很多运维同学的服务器上都运行着一些诸如每天切分Nginx日志之类的CRON脚本,大家似乎遗忘了Logrotate,争相发明自己的轮 ...
- 网站运维工具使用iis日志分析工具分析iis日志(iis日志的配置)
我们只能通过各种系统日志来分析网站的运行状况,对于部署在IIS上的网站来说,IIS日志提供了最有价值的信息,我们可以通过它来分析网站的响应情况,来判断网站是否有性能问题,或者存在哪些需要改进的地方 对 ...
- 网站运维之 使用IIS日志分析器1.03.exe进行IIS服务器日志分析
引言 对于网站运维是一个比较要细心有耐心的工作,当一个网站从开发到上线后,后期的维护也很关键,特别是对于引流的网站来说更是至关重要. 对于网站运维的内容大致可以分为: SEO流量监控方面:风险防控:访 ...
- 【kafka学习之五】kafka运维:kafka操作日志设置和主题删除
一.操作日志 首先附上kafka 操作日志配置文件:log4j.properties 根据相应的需要设置日志. #日志级别覆盖规则 优先级:ALL < DEBUG < INFO <W ...
- Docker 运维高级应用管理
Docker 基本应用 1.Docker 介绍及安装 2.Docket 使用命令 3.Docker run命令参数整理 4.Docker 构建镜像 Docker Compose 高级应用 1.Doc ...
随机推荐
- 5GC 关键技术之 SBA(基于服务的软件架构)
目录 文章目录 目录 前文列表 5GC 的关键技术 SBA(基于服务的软件架构) 微服务架构 NF 的模块化 NF Service 的服务化 前文列表 <简述移动通信网络的演进之路> &l ...
- 【漏洞通报】WEB VIDEO PLATFORM疑似存在未授权访问漏洞
漏洞描述 WEB VIDEO PLATFORM是一个基于GB28181-2016标准实现的开箱即用的网络视频平台,负责实现核心信令与设备管理后台部分,支持NAT穿透,支持海康.大华.宇视等品牌的IPC ...
- Stemciljs学习之组件生命周期
组件有许多生命周期方法,可用于了解组件何时"将"和"执行"加载.更新和呈现.可以将这些方法添加到组件中,以便在正确的时间挂接到操作中. 在组件类中实现以下方法之 ...
- HTML——结构和标签格式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- H.264码流解析
这一篇内容旨在对H.264码流中的一些概念做简单了解. 1.概念了解 VCL:Video Coding Layer视频编码层,它是H.264(AVC)编码中的核心,负责视频数据的编码工作.VCL层会应 ...
- 001. git基础
目录 1. 持续集成教程 1.1 持续集成的基础概念 1.2 持续集成的一般流程 1.3 认识DevOps 1.3.1 DevOps是啥? 1.3.2 为什么需要DevOps呢? 1.3.3 DevO ...
- Swift 属性装饰器
import ArgumentParser @propertyWrapper struct WrapperTest { internal var innerValue: Int { didSet { ...
- AutoLayout与UIbutton
1.UIButton贴近右边,高度固定,宽度跟随标题变化 class TestButton: UIButton { } class ViewController: UIViewController { ...
- Vue3.0+typescript+Vite+Pinia+Element-plus搭建vue3框架!
使用 Vite 快速搭建脚手架 命令行选项直接指定项目名称和想要使用的模板,Vite + Vue 项目,运行(推荐使用yarn) # npm 6.x npm init vite@latest my-v ...
- 探索Semantic Plugins:开启大模型的技能之门
前言 在之前的章节中我们或多或少的已经接触到了 Semantic Kernel 的 Plugins,本章我们讲详细介绍如何使用插件. Semantic Kernel 的一大特点是拥有强大的插件,通过结 ...
