docker容器日志查看
日志分两类,一类是 Docker 引擎日志
;另一类是 容器日志
。
Docker 引擎日志
Docker 引擎日志
一般是交给了 Upstart
(Ubuntu 14.04) 或者 systemd
(CentOS 7, Ubuntu 16.04)。前者一般位于 /var/log/upstart/docker.log
下,后者一般通过 jounarlctl -u docker
来读取。不同系统的位置都不一样,SO上有人总结了一份列表,我修正了一下,可以参考:
系统 | 日志位置 |
---|---|
Ubuntu(14.04) | /var/log/upstart/docker.log |
Ubuntu(16.04) | journalctl -u docker.service |
CentOS 7/RHEL 7/Fedora | journalctl -u docker.service |
CoreOS | journalctl -u docker.service |
OpenSuSE | journalctl -u docker.service |
OSX | ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/log/docker.log |
Debian GNU/Linux 7 | /var/log/daemon.log |
Debian GNU/Linux 8 | journalctl -u docker.service |
Boot2Docker | /var/log/docker.log |
容器日志
容器的日志
则可以通过 docker logs
命令来访问,而且可以像 tail -f
一样,使用 docker logs -f
来实时查看。如果使用 Docker Compose,则可以通过 docker-compose logs <服务名>
来查看。
如果深究其日志位置,每个容器的日志默认都会以 json-file
的格式存储于 /var/lib/docker/containers/<容器id>/<容器id>-json.log
下,不过并不建议去这里直接读取内容,因为 Docker 提供了更完善地日志收集方式 - Docker 日志收集驱动
。
关于日志收集,Docker
内置了很多日志驱动,可以通过类似于 fluentd
, syslog
这类服务收集日志。无论是 Docker
引擎,还是容器,都可以使用日志驱动。比如,如果打算用 fluentd
收集某个容器日志,可以这样启动容器:
$ docker run -d \
--log-driver=fluentd \
--log-opt fluentd-address=10.2.3.4:24224 \
--log-opt tag="docker.{{.Name}}" \
nginx
|
其中 10.2.3.4:24224
是 fluentd
服务地址,实际环境中应该换成真实的地址。
docker logs -f -t --tail 10 user-uat
例:查看指定时间后的日志,只显示最后100行:
docker logs -f -t --since="2018-02-08" --tail=100 user-uat
例:查看最近30分钟的日志:
docker logs --since 30m user-uat
例:查看某时间之后的日志:
docker logs -t --since="2018-02-08T13:23:37" user-uat
例:查看某时间段日志:
docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" user-uat
例:将错误日志写入文件:
docker logs -f -t --since="2018-02-18" user-uat | grep error >> logs_error.txt
作者:zxy_3197
链接:https://www.jianshu.com/p/86a5327a9a89
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
docker容器日志查看的更多相关文章
- Docker容器日志查看与清理的方法
Docker容器日志查看与清理的方法 Docker 容器是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化.容器 ...
- Docker容器日志查看与清理(亲测有效)
https://blog.csdn.net/yjk13703623757/article/details/80283729 1. 问题 docker容器日志导致主机磁盘空间满了.docker logs ...
- 实时查看docker容器日志
实时查看docker容器日志 $ sudo docker logs -f -t --tail 行数 容器名 例:实时查看docker容器名为s12的最后10行日志 $ sudo docker logs ...
- docker 容器日志集中 ELK + filebeat
docker 容器日志集中 ELK ELK 基于 ovr 网络下 docker-compose.yaml version: '2' networks: network-test: external: ...
- docker容器日志收集方案(方案二 filebeat+syslog本地日志收集)
与方案一一样都是把日志输出到本地文件系统使用filebeat进行扫描采集 不同的是输出的位置是不一样的 我们对docker进行如下设置 sudo docker service update --lo ...
- docker容器日志收集方案(方案一 filebeat+本地日志收集)
filebeat不用多说就是扫描本地磁盘日志文件,读取文件内容然后远程传输. docker容器日志默认记录方式为 json-file 就是将日志以json格式记录在磁盘上 格式如下: { " ...
- docker容器日志清理
1.先查看磁盘空间 df -h 2.找到容器的containerId-json.log文件,并清理(治标不治本,log迟早还会大的) 查看各个容器的log文件大小 find /var/lib/dock ...
- 解决docker容器日志导致主机磁盘空间满了的情况
日志文件在 /var/lib/docker/containers/<docker_container_id>/ 目录下 查看日志大小 vim /opt/docker_log_siz ...
- docker容器日志管理(清理)
原文:docker容器日志管理(清理) 前言 在使用docker容器时候,其日志的管理是我们不得不考虑的事情.因为docker容器的日志文件会占据大量的磁盘空间.下面介绍的就是对docker容器日志的 ...
随机推荐
- QT5无法定位程序输入点 于动态链接库QtCore5.dll的解决
本人新手刚接触QT5,今天在写程序时,在QtCreator中可以运行,但是单独运行.exe文件时报错 之后发现是因为我之前在path路径中添加了MinGw,导致里面也有Qt库.但是我编译的时候用的是安 ...
- python算法与数据结构-快速排序算法(36)
一.快速排序的介绍 快速排序(英语:Quicksort),又称划分交换排序(partition-exchange sort),通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外 ...
- Follow My Heart
看到这个题目,能够让我不断跟随自己的心去奋斗,当然在这之中也有过彷徨,有过偷懒,但最终还是依然坚强,依然保持着一种积极向上的心情去迎接每一天. 这一年从大三升到大四,瞬间觉得自己成长了很多,身上的责任 ...
- dt二次开发之-地区链接伪静态标签用法
用法:开启伪静态功能,参照前台,看看哪里有按照地区浏览,然后打开对应的模块和模板,修改 <a href="{$MOD[linkurl]}search.php?areaid={$v[ar ...
- 性能优化处理CPU快慢问题
经常听到有人说磁盘很慢.网络很卡,这都是站在人类的感知维度去表述的,比如拷贝一个文件到硬盘需要几分钟到几十分钟,够我去吃个饭啦:而从网络下载一部电影,有时候需要几个小时,我都可以睡一觉了. 最为我们熟 ...
- K-means: optimization objective(最小化cost function来求相应的参数)
类似于linear regression,K-means算法也optimization objective或者是试图使cost function求最小值. 了解K-means算法的optimizati ...
- vscode远程调试node服务端
{ "type": "node", "request": "attach", "name": &qu ...
- go内置的反向代理
package main import ( "log" "net/http" "net/http/httputil" "net/u ...
- Canvas 总结,到第4章 canvas图形变换
canvas 必须认识到的大坑 <!-- 重点: 在js/canvas标签中定义的宽和高是画布实际的宽和高. 在样式表中定义的宽和高是画布缩放后的宽和高. 即:把js/canvas实际大小缩放到 ...
- 微信公众号调用外部浏览器打开指定URL链接是如何实现的
在涉及移动端支付的项目时,由于对支付需求的精细化,不仅需要扫码支付,还有唤醒App支付,另外还有在微信.QQ.支付宝内置浏览器给出相应的提示. 好在国内各大巨头公司在开发浏览器的时候都在浏览器标识上加 ...