运维笔记--docker高效查看后台日志
场景描述:
应用程序运行在 Docker环境中,
经常使用的查看后台日志的命令是:docker attach 容器名
该命令优点:实时输出;
不足之处:日志大量输出的时候,屏幕一闪而过,不便于调试,
并且有一个比较严重的问题,就是该命令在某些容器环境下,由于配置不同,ctrl+c命令退出的时候,会直接导致该容器停止。
其实,docker自身是集成封装了一些关于查看日志的命令的,组合使用,可帮助日常快速定位问题:
* 显示所有 log
* 显示实时 log
* 使用 tail 查看 log 尾部
* 使用 grep 过滤 log
* 根据时间查看 log
* 组合使用
* 把错误日志追加写入文件
1. 显示所有 log
# 显示某个容器的所有log
$ docker logs [OPTIONS] <CONTAINER> # 显示 docker-compose 启动的所有容器的log
$ docker-compose logs
2. 显示实时 log
类比linux下的命令tail -f ****.log
$ docker logs -f <CONTAINER>
3. 查看倒数最近的多少条日志记录
$ docker logs --tail <CONTAINER>
4. grep 过滤 log
$ docker logs | grep error
5. 根据时间查看 log
如只想查看某个时间点之后的日志,使用 --since 选项,显示从指定时间点到最新的日志:
$ docker logs --since --20T15::34.483942Z <CONTAINER>
--since指定了开始时间点,还可以指定结束时间点,使用选项 --until,显示二者之间的日志:
$ docker logs --since 2019-04-20T15:05:34.483942Z --until 2019-04-23T15:05:34.483942Z <CONTAINER>
6. 组合使用
$ docker logs --tail <CONTAINER> | grep info
$ docker logs -f --since xxx --tail= <CONTAINER>
7. 把错误日志追加写入某个文件
$ docker logs -t <CONTAINER> | grep error >> logs_error.txt
如果公司有自己的内部日志分析系统,这里可以每天定时采集错误日志,并将错误日志文件,导入日志系统,分析。
运维笔记--docker高效查看后台日志的更多相关文章
- 运维笔记--Docker文件占用磁盘空间异常处理
场景描述: 1. 服务器运行一段时间后,发现系统盘磁盘空间在不断增加,一开始的时候,不会影响系统,随着时间的推移,磁盘空间在不断增加,直到有一天你会发现系统盘剩余空间即将使用完,值得庆幸的是,如果您使 ...
- 运维笔记--docker odoo镜像 运行异常处理
场景描述: 镜像来源,dockerhub odoo官方镜像:https://hub.docker.com/_/odoo odoo镜像运行一段时间后,出现下述异常,可能是触发某个未知bug:该现象在生产 ...
- 运维笔记--Docker环境ubuntu系统安装指定版本python[3.6]
场景描述: 直接安装出现如下异常: root@ae2d02e458f3:/home# apt-get install python3.6 Reading package lists... Done B ...
- Linux系统运维笔记(一),查看系统版本和设置系统时间
Linux系统运维笔记 查看系统版本和设置系统时间 查看系统版本 lsb_release -a (适用于所有的linux,包括Redhat.SuSE.Debian等发行版,但是在debian下要安装l ...
- Linux系统运维笔记(五),CentOS 6.4安装java程序
Linux系统运维笔记(五),CentOS 6.4安装java程序 用eclipse编译通的java程序,现需要实施到服务器.实施步骤: 一,导出程序成jar包. 1,在主类编辑界面点右健,选 ru ...
- Linux系统运维笔记(四),CentOS 6.4安装 MongoDB
Linux系统运维笔记(四),CentOS 6.4安装 MongoDB 1,下载 https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6 ...
- Linux系统运维笔记(四),CentOS 6.4安装Nginx
Linux系统运维笔记(四),CentOS 6.4安装Nginx 1,安装编译工具及库文件 yum -y install make zlib zlib-devel gcc-c++ libtool op ...
- Linux系统运维笔记(三),设置IP和DNS
Linux系统运维笔记(三),设置IP和DNS 手工配置静态的IP地址 也就是手工配置IP地址.子网掩码.网关和DNS. vi /etc/sysconfig/network-scripts/ifcfg ...
- Linux系统运维笔记(二),Linux文件编辑命令
Linux系统运维笔记 Linux文件编辑命令 首先我们使用命令 vi filename 打开一个文件,这个时候进入到的是命令模式 接下来我们按i,然后键盘随便输入写内容. 然后按ESC重新进入到命令 ...
随机推荐
- 关于canvas补充说明
上篇文章提到的canvas画布,用到f2组件,组件地址https://gw.alipayobjects.com/os/antv/assets/f2/3.0.0/f2.js或利用npm下载:npm in ...
- 做seo应该如何选择网站程序?
网站程序:(具体网站案例,可在官网看到)绝大多数情况下,我们将做的网站有以下几种1.个人博客,推荐的程序Wordpress(php的程序,比较强大),Zblog(asp的程序,比较简单)2.门户网站( ...
- java操作docker示例(docker-java)
1.首先要修改docker服务器的 /usr/lib/systemd/system/docker.service,加入紫色框的配置 2.下载docker-java 的github源码 git clon ...
- JAVA 8 主要新特性 ----------------(七)新时间日期 API -----Instant 时间戳
一.简介 用于“时间戳”的运算.它是以Unix元年(传统 的设定为UTC时区1970年1月1日午夜时分)开始 所经历的描述进行运算 二.文档介绍 1.now Instant instantNow = ...
- cobbler实现系统自动化安装centos
cobbler [epel] cobbler服务集成 PXE DHCP rsync Http DNS Kickstart IPMI[电源管理] 1.软件安装 yum install cobbler d ...
- IDEL中easyui使用jstl和el出现传值不显示的问题
<%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding=& ...
- 网络操作系统 第九章 DHCP服务器管理与配置
本章小结 本章介绍了DHCP服务器的基本概念,基本原理和主要功能,详细说明了Window是下DHCP服务器的安装配置和Linux下DHCP 服务器的安装配置,通过本章的学习.读者能够理解动态主机配置协 ...
- App性能测试之启动时间(安卓)手动+脚本
这个测试可以使用adb工具,adb的安装方式 测试策略 安装后首次启动 常规冷启动 热启动(一般这个都很少测试) 针对1和2的测试方法 步骤1:在cmd中输入如下命令 adb logcat * > ...
- MQTT协议学习总结
一.MQTT介绍 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通 ...
- CentOS---zabbix使用sendEamil发送报警
一.sendEmail简介 sendEmail是一个轻量级,命令行的SMTP邮件客户端.如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大.这个被设计用在php ...