1.背景

在CentOS 上,采用docker-compose 部署容器时,使用docker-compose logs查看容器输出控制台日志。但是由于输出的日志过多,害怕占满空间所以想要手动删除。

使用的docker版本为1.13.1。按照网上所说查看日志路径,但返回结果为“”

docker inspect --format='{{.LogPath}}' <container_name_or_id

使用#docker info命令查看到log-driver为journald,

根据官方https://docs.docker.com/config/containers/logging/journald/提供使用方法

journalctl CONTAINER_NAME container_name可以来查看日志内容,但是仍无法知道日志路径

根据问题https://stackoverflow.com/questions/30969435/where-is-the-docker-daemon-log中回答在/var/log/messages文件中,果然从中找到log内容。

另从http://docs.lvrui.io/2017/02/19/%E6%9B%B4%E6%94%B9docker%E7%9A%84%E6%97%A5%E5%BF%97%E5%BC%95%E6%93%8E%E4%B8%BA-journald/

中得知journalld默认日志最大限制为所在文件系统容量的 10%。超出时会自动删除最早的日志。但它会自动发给syslog导致syslog巨大。因此还需要自己配置大小,可以使用如下方法:

2.配置方法

1.在docker-compose.yml中增加logging配置,此时文件路径在/var/lib/docker/containers/{container_id}/*-json.log

nginx: image: nginx:1.12.1 restart: always logging: #日志驱动driver: “json-file” options:#日志大小 max-size: “5g”#日志数量 max-file: "3"

2.在/etc/docker/daemon.json中增加全局配置

{"registry-mirrors": ["http://f613ce8f.m.daocloud.io"],"log-driver":"json-file","log-opts": {"max-size":"5g", "max-file":"3"}
}
//重启docker守护进程
#systemctl daemon-reload#systemctl restart docker

3.设置journal.conf

编辑/etc/systemd/journald.conf

可以精确指定占用的空间大小

SystemMaxUse=50M

另外以下几个非常重要的优化项目

  • ForwardToSyslog=yes
  • ForwardToWall=yes

以上两个参数默认都是 yes 意味着 journald 收集日志后还会转发到 syslog 中

由此造成的影响是: journald 虽然可以乖乖的按照上面的配置进行日志的清理, 但是 syslog 却不在 journald 的控制范围之内

在日志量很大的情况下, 我们发现 syslog 中的日志量也变得巨大, 而且里面都是容器的日志, 所以我们需要把上面两个参数的值改为no

禁止

docker logs日志清除相关推荐

  1. docker logs 日志原理

    参数说明 $ docker logs [OPTIONS] CONTAINER Options:--details 显示更多的信息-f, --follow 跟踪日志输出,最后一行为当前时间戳的日志--s ...

  2. docker命令(一) —— docker logs 日志输出

    docker的运行的时候我们喜欢采用 -d 的命令来启动docker容器,这就导致了一个问题,无法直接看到docker运行日志,只能去后台进去找到日志文件查看,好在docker给了日志查看的命令,可以 ...

  3. 日志管理之 Docker logs - 每天5分钟玩转 Docker 容器技术(87)

    高效的监控和日志管理对保持生产系统持续稳定地运行以及排查问题至关重要. 在微服务架构中,由于容器的数量众多以及快速变化的特性使得记录日志和监控变得越来越重要.考虑到容器短暂和不固定的生命周期,当我们需 ...

  4. docker logs 查看实时日志

    docker logs -f -t --since="2017-05-31" --tail=10 edu_web_1 --since : 此参数指定了输出日志开始日期,即只输出指定 ...

  5. docker logs 查看docker容器日志

    命令格式 $ docker logs [OPTIONS] CONTAINEROptions:--details 显示更多的信息-f, --follow 跟踪实时日志--since string 显示自 ...

  6. Docker logs 查看实时日志(日志最后的N行、某刻后日志)

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. docker logs : docker logs -f -t --since="2017 ...

  7. Docker logs 命令——查看docker容器日志

    用法: docker logs [OPTIONS] CONTAINER 名称,简写 默认 描述 --details 显示更多的信息 --follow , -f 跟踪日志输出 --since 显示自某个 ...

  8. docker logs-查看docker容器日志

    通过docker logs命令可以查看容器的日志. 命令格式: $ docker logs [OPTIONS] CONTAINEROptions:--details 显示更多的信息-f, --foll ...

  9. kubectl logs和docker logs输出日志不同的问题

    kubectl logs用来查询pod日志 docker logs用来查询容器日志 问题描述 但是近期在分析日志时发现一个问题,kubectl logs查询pod日志输出的不全,和对应容器docker ...

最新文章

  1. fir.im Weekly - iOS 保持界面流畅的技巧
  2. iBatis简单入门教程
  3. 8.公有继承 保护继承 私有继承
  4. 安装cygwin时的一个长时间处理
  5. java jli.dll_JVM、JRE、JDK之间的区别和联系,你居然还不知道?
  6. django ajax 简书,Django_ajax
  7. 【C++模板】特化与偏特化 template [partial] specialization
  8. python单选题库答案_大学慕课2020用Python玩转数据题库及答案
  9. R语言︱R社区的简单解析(CRAN、CRAN Task View)
  10. maven执行package命令解析配置文件中的占位符进行替换
  11. pagination分页(支持首页,末页,跳转)
  12. MD4 算法代码实现
  13. LCD设备驱动(一)
  14. 【测试源】bbb_sunflower_1080p_30fps_normal.mp4 等下载地址
  15. 计算机博弈六子棋估值函数,机器博弈中搜索策略和估值函数的设计
  16. 车辆姿态表达:旋转矩阵、欧拉角、四元数的转换以及eigen、matlab、pathon方法实现
  17. 一种RK3399+MIPI+FPGA的高速工业相机的设计方案(二)
  18. pdf转换成txt转换器有哪些
  19. 花束生长动画婚礼请柬手机视频制作PR竖屏模板MOGRT
  20. 华氏温度和摄氏温度的转换

热门文章

  1. 手把手教你如何利用Meterpreter渗透Windows系统
  2. Windows Server 2008之旅??Windows Server Backup功能_闲云野鹤?精神家园_百度空间
  3. PCB相关知识-焊盘Pad
  4. ACM,IEEE ,Elsevier和Springer旗下期刊
  5. 【转】模糊测试(fuzzing)是什么
  6. 在线excel、excel协同平台、网络excel类产品很多,为啥大公司却只选云表?
  7. HTML制作一个介绍自己家乡的网站——贵阳,排版整洁,内容丰富,主题鲜明
  8. python将html转换成excel_Python将HTML格式文件中字段提取到EXCEL表的方法
  9. 使用nodejs(ipp和html-pdf-node)实现连接打印机后端静默打印html文件
  10. Android开发规范,flutter生成二维码